I do what you are describing for fun, but I would never recommend it for a business, even if it is reliable.
To get around the reliability problems, I have the on-prem laptop environment update cloudflare entries with keep-alive timestamp messages. .. I then have a Google script that monitors the keepalive and if too much time has passed, a “failover” is done and everything that was running on-prem is spun up in digital ocean. The failover script completes by updating DNS and pointing to DO
I don’t allow the system to fail-back, I always investigate every time there is a failover, but it rarely happens and is usually due to power outages.