For the low-criticality end of the spectrum there's an option I've been using: no public DNS at all. Point a cloudflared quick tunnel at a local port and you get a public HTTPS URL that Cloudflare manages end-to-end - no NS records, no glue, no redundancy problem, because you don't own the name.
The trade-off is that the public URL is random and rotates on every tunnel restart, so it's only acceptable for throwaway or low-stakes services. I run a small data API that way and have to republish the URL whenever the box reboots. For anything clients actually depend on, your multi-node authoritative setup is the right shape.