The explanation was good but I have a quip with treating video games as lesser. We were doing NAT punchthrough and other complex UDP NAT traversal well before STUN/TURN was an established thing.
That said most of it has centralized to so that there is an authoritative server to handle cheating which means that you can mostly get away with not needing a complex traversal these days. Some of the stuff in the early '00s did some pretty impressive things(ex: dynamic host migration when the hosting console would drop out).
Side note: Tailscale, like WireGuard itself, has problems in iOS with native IPv6 networks which use 464XLAT because WireGuard prefers the A record on a DNS request. This breaks when you're being proxied over an IPv6, and that proxy gets dropped. Then you don't receive notifications until the proxy is re-established.
(Interviewee here) WireGuard itself barely touches DNS, and tailscale as far as I know doesn’t have any code that would change how your external DNS resolution works. What you’re seeing might be a misdiagnosis. If you email tailscale support we’ll be happy to help figure out what happened and if it’s a bug.