Korrekt. Wobei nur ein Container direkt aus dem Internet erreichbar ist und das ist der NPM. Der leitet ja den Traffic an andere Container weiter (oder blockt ihn).
Nein. Dann gehört die öffentliche IP, die bei der Domain hinterlegt ist, ja vermutlich schon jemand anderem.
Tatsächlich geht der Traffic, der von lokal auf die öffentliche IP geht, nicht ins Internet. Er landet beim Router, dem diese IP ja zugeordnet ist. Und wenn dieser NAT Loopback beherrscht, wie es bei einer Fritz!Box der Fall ist (Speedport kann es zb nicht), dann leitet dieser den Traffic von außen durch seine Firewall wieder ins lokale Netz zurück (wenn der entsprechende Port offen ist).
Man könnte einer Domain auch eine rein lokale IP geben, aber das geht nur mit https, wenn man ein kostenpflichtiges Wildcard Zertifikat für die komplette Domain hat oder man betreibt lokal einen DNS Server, der die DNS Anfragen für die eigene Domain "abfängt" und deren lokale IP zurückgibt. Dann ginge der Zugriff auch, wenn man kein Internet hat.