Buenas colosoderodas
Con total independencia del resto, no es una idea muy buena exponer servicios conocidos como los puertos 80/443 (y esto es aplicable a cualquier otro puerto/servicio habitual) a Internet, a menos que quieras que antes o después un hacker esté controlando tu servidor (en este caso). Para uso "doméstico", usar puertos externos conocidos es pegarse un tiro en el propio pie, es una barbaridad sinceramente, sin tener conocimientos avanzados para proteger como es debido la red de uno... y si usamos el Router del ISP, pues ya nos está diciendo que no estamos tomando las medidas necesarias. Además, teniendo soluciones sencillas y seguras... que tb evitan este problema.
Dicho eso, en realidad tu mismo te has respondido, aunque descartaste la opción al realizar una prueba errónea. La cuestión de base es que el puerto 80/443 ya los usa el Router, como has dicho, para la interfaz Web, para él mismo.
"También he probado a mapear a un puerto interno distinto (por ejemplo 80 externo a 81 interno y 443 externo a 444 interno), por si era un conflicto con la interfaz web de administración"
Es que así no pruebas ningún tipo de conflicto con el Router. El puerto externo es el del Router, el puerto Interno es el de tu equipo. Lo que hay que hacer es lo contrario, mapear por ejemplo el 20000 externo al 443 interno, y por ejemplo el 20001 externo al 80 interno.
El Router ya usa por defecto para él estos puertos, con lo que si se intenta de forma externa acceder a ellos, acaba el tráfico en el Router, no en tu servidor.
Es cierto que depende del HGU que se tenga, se puede cambiar el puerto que va a usar el Router, para poder incluso usar estos puertos de forma externa. Pero repito que esto no es adecuado, es una barbaridad. Para un entorno "doméstico", donde importa poco el puerto, como seguridad mínima es usar como puerto externo un puerto alto, da igual que el interno siga usando el servidor el 443 o el 80, pero al menos queda oculto para el 99% de los ataques indiscriminados.
Saludos.