This way you don't depend on a VPN provider, and can easily host it on any VPS. I suppose it would work on fly.io as well.
I use the hub and spoke setup to access my home network over the internet, and Wireguard works great.
This also doesn't require any special gateways or DNS setup. All connected hosts just use the DNS server on my main router, which resolves all internal domains.
Which works horribly on 464xlat providers, as now you're routing your VPN traffic over a IPv6->IPv4 proxy. While that's fine for outgoing stuff it breaks all incoming stuff as soon as you put your phone to sleep, as nothing can send stuff your way anymore.
I don't use IPv6, so this hasn't been an issue for me. It sounds like a relatively simple thing to fix, though.
OP, why not use an open source equivalent to Tailscale Funnel? For example, I work on the OpenZiti project and we created zrok.io which is fully open source alternative - https://github.com/openziti/zrok.
They also have caddy-tailscale which directly connects a tailnet IP with Caddy as a proxy. The development has stalled as it seems, but works.
Note: Asian region does not offer the full 160GB, but only 20GB IIRC, like HKG and NRT.