Remember that databases were designed to host multiple databases for multiple users… As long as you’re working with maintained software (and you are) it should be pretty trivial to run on the latest version of Postgres and have everything just work using one instance if you’re resource constrained.
Definitely a good point about being able to migrate as well. Postgres has excellent tools for this sort of thing.
ZeroTier is also an option in the same vein as TailScale.
You will share your IP with something like TailScale or ZeroTier.
Reverse proxies can be good but with gaming … there’s only so much you can do because of the custom protocols. Most of that stuff isn’t going to care about the DNS. You’re also introducing additional latency if you use a VPS as a “middle man.”
I think you need to consider who you’re going to be giving access to and what threats you’re trying to protect against.
My advice would be to set up ZeroTier on all the machines that are going to play together and set it up so it only allows connections between clients and the server (there’s a guide for this in their documentation). Then give the gaming machine a ZeroTier IP you put in your DNS.
Most games use different ports so there really isn’t a need for lots of DNS names. However, you could assign multiple ZeroTier IPs to the same machine and give each game server its own DNS and its own IP.