NPM ist kein DNS wie soll er die Domain denn intern auflösen? Aber davon ab, liegt das mit Sicherheit an irgendwelchen deiner Firewall Regeln.
Du hast recht. Ich steuere meine Domains über CloudFlare. Subdomain wird auf meine Pub IPv4/6 nach Hause geleitet. UDM-SE erhält ne Anfrage und die leitet er auf einen bestimmten Port um. Eine direkte Auflösung findet hier nicht statt. Für die einzelnen Dienste verwende ich Docker mit Portainer und mache einfach eine Portweiterleitung