My best advice would be to make sure you enable static port mapping on your NAT rules. That usually helps a lot of NAT traversal things like games.
And no, Nintendo doesn’t understand networking in the slightest and asking people to forward every single port is BS.
The rebuttal is correct.
DNS response from pihole makes it so your browser doesn’t even make the request to the server providing the AD. A blocked ad via DNS doesn’t make it to your device, and doesn’t even get downloaded from the remote server.