Not completely to zero, I don’t think. The Fly Proxy’s autoscaling doesn’t know the dependencies between the different Machines, basically. If you wake up a replica and it can’t connect to the primary, then it will typically balk—if memory isn’t failing me. (I think that extra safeguard was introduced in response to an incident within Fly.io’s own infrastructure a couple years back.)
What you could do is create your own mini-scaler, via Fly-Replay, in a small, dedicated router app that knows to always wake up the primary (via the Machines API) before any of the others, etc. That would be a fair amount of work, though.
Aside: That second link covers a more complicated scenario than what you would really need, but it’s the best single summary of all the pieces that I know of…