La sécurité en informatique est un domaine compliqué ...
On peut simplifier en expliquant que rien n'est sûr, et qu'avec les failles dans le code, on est à peu près certain que quelqu'un qui a vraiment envoie de rentrer va y arriver ...
Après, ce qu'on peut faire, c'est compliquer les choses pour un attaquant.
Dans ton cas, il semble que tu ais déjà pas mal réfléchi.
Un ajout simple serait de ne n'autoriser les connexions entrantes que depuis un VPN, sans rien changer ensuite à ton architecture.
Ce qui veut dire que pour accéder à ton Domoticz, il faut d'abord craquer ton VPN, puis ton proxy. Ça va prendre plus de temps (donc d'argent pour celui qui t'attaque). Et comme tu ne détiens pas des secrets d'état, il est probable qu'il va aller chercher ailleurs un truc plus simple. Après si tu es une banque, l’appât du gain va certainement faire que ton hacker va continuer
L'autre intérêt du VPN, est que n'importe n'arriver pas sur ton réseau (donc ton proxy) : il faut une clef valide pour se connecter. On peut le voir comme un inconvénient, puisque le propriétaire ne peut pas se connecter de n'importe quel appareil. Ceci dit, c'est un peu le principe de base : restreindre les possibilités d'accès.
Autre "truc" souvent utilisé : Quand on a une archi modèle "firewall -> serveur en DMZ -> firewall", on utilise 2 marques différentes de FW, pour qu'ils aient des failles différentes.
Dernier point : il peut également être habile de mettre en DMZ un Domoticz "esclave", avec certains dispositifs en lecture seule, qui pointe sur le Domoticz interne. Il y a même un outil pour faire ça :
https://github.com/FlyingDomotic/domoti ... ync-plugin