I’ve been using a series 4 with an iPad for a year or so and your experience is very familiar. It connects, sometimes without me having to do anything, other times I have to run thru a set of potential fixes and eventually I can always get it to connect.
- Repeat the steps to connect a Bluetooth device from within the Zwift app on the iPad, looking for your watch on the list.
- Quit and restart the companion app, then repeat step 1.
- Quit and restart the Zwift app on your watch (look up how to do that, not something I ever have to do for any other app on my watch, and I wonder if this app is the ultimate source of the flakiness), then repeat step 1.
- Try steps 2 and 3 in the other order
Just to be clear, I’m not saying you’ll have to do all of these, you might fix the issue at any of the steps and therefore not need to run through the other steps.
Hope this helps, I’m confident you can get it to work consistently. I don’t know where the unreliability in establishing a connection at the beginning comes from, but once it’s going and I’m actively riding, I don’t think I’ve ever lost the connection during the ride.
 for future reference, I should have added that I run the companion app on an iPhone Xs