No uséis nunca DMZ.
Upnp tiene pros y contras. Como gran ventaja tenemos la apertura dinámica, que los vuelve a cerrar cuando se termina la sesión, y que no vamos a dejarnos ningún puerto de menos por abrir. El problema de usarlo por otro lado es que se le da a la aplicación (consola/juego en este caso) a abrir todo lo que le de la gana, lo cual es por otro lado un problema de seguridad. En las consolas aun así recomiendo usar upnp para evitar problemas a la mayoría, ya que la inmensa mayoría no sabe/conoce hacer un buen seguimiento de los puertos necesarios, para abrir únicamente aquellos que realmente se requieren, y no la larga lista que dice la consola/juego que necesita, que son dos listas muy muy muy diferente.
Pese a la leyenda urbana, de echo, cuantos más puertos abiertos tenga una consola/equipo, ya sea por usar upnp o DMZ (que realmente es algo así como un mapeo global), lo que se puede producir es un empeoramiento de la conexión. Los puertos son necesarios para permitir conexiones entrantes no solicitadas, y esto es necesario para algunos juegos/servicios. Pero tb abre la puerta de que al equipo/consola llegue mucho más tráfico del realmente útil, debido a redes zombis/bots, en general al "ruido" de fondo de Internet. Ese Ruido, el 99% de él, el Router lo filtra automáticamente porque no existen mapeos que reenvíen dicho tráfico a algún equipo de la red, pero le uso de upnp sin "control" o DMZ, hace que gran parte de ese tráfico si sea reenviado a la consola/equipo, tráfico que tendrá que gestionar/procesar, y por ende invertir recursos en ello, potencialmente aumentando latencia, perdiendo rendimiento, y aumentando en mucho riesgos de seguridad.
Así que si realmente se quiere optimizar al máximo todo, usar mapeo manual, y haciendo una lista de puertos que realmente sea esencial, ni más ni menos. Y si esa labor es demasiado para los conocimientos de uno, usar upnp.