Du liegst mit deiner Annahme der Nachteilen zum Reverse-Proxys gar nicht so falsch.
Wie du schon schriebst, jeder der über die (Sub-)Domain geht kann therotisch versuchen sich einzuloggen und oder Sicherheitslücken auszunutzen um sich Zugang zu verschaffen.
Erweiterte Sicherheitsmaßnahmen wie z.B. fail2ban, Firewall, DMZ(Subnet) etc. sind angebracht
Ein guter Proxy Manager für Leute die es gerne einfach haben möchten und nicht viel mit der CLI zu tun haben wollen, kann ich den "NGINX Proxy Manager" empfehlen andernfalls NGINX direkt.
Bezüglich der SSL Zertifikate ist es eine Glaubensfrage ob LetsEncrypt oder ein richtiger anbieter.
Als Port musst du idR. nur einen oder zwei öffnen, außer du benötigst auch andere spezielle Ports. Der Proxy übernimmt die Arbeit und verteilt die Anfragen intern.
Und jetzt kommt meine persönliche Meinung.
Ich persönlich würde VPN nutzen, man kann die meisten Clients dauerhaft verbunden lassen und richtig eingestellt, funktioniert alles was auch ohne VPN Verbindung funktioniert (surfen, telefonieren, videos).
Der gesamte Traffic geht immer zu dir nach Hause, was auch eine gewissen Sicherheit gegegüber bösen LAN-/WLAN-Netzen gibt, ich gehe jetzt hier mal nicht ins Detail drauf ein.
Bei Netzwerkfreigaben ist die Regel "weniger ist mehr".
Eigene Domains kann du übrigens auch bei VPN nutzen.
Ich habe zwar alle besagten Sicherheitsmaßnahmen bei mir umgesetzt, nutze aber dennoch die Variante VPN.
//EDIT:
Der Proxy Manager eigenet sich auch bei der Variante VPN. Auch zuhause sollten SSL Zertifikate verwendet werden, sollte es doch mal wer schaffen rein zu kommen, macht man es ihm so schwer wie möglich sich auf den Oberflächen anzumelden.