2 host panels on 2 vm

Hi I am new here and it's been like 27yrs+ since I messed with a server nevermind virtual machines.

Basically I currently run 2 servers running hestiacp with multiple websites and users on both servers (one user per website personal use).

Hestia comes with reverse proxy.

Ok so here's my thoughts, when I have created the virtual machines, do I just open ports 80 and 443 to both vm's and let them sort out there own DNS etc? On a shared external IP (wan).

I use the DNS of the domain name provider to point to my external IP(wan)

The problem I am thinking about in my head is that both will respond to a request from a client browser while one will provide a website to view the other will respond 404 not found and really I would like to avoid conflicts..
 
An IP address must not be shared among machines. So the way of "sharing" you're describing will not work. You need a single reverse proxy (e.g. nginx) as the ingress point (i.e. this one has your WAN IP configured), which can then (based on domain name) decide which VM the traffic should be forwarded to, where both your hestiacp instances have local (non-shared) IPs. "Opening ports" is only necessary if you're actually running a firewall (which is a good idea), but doesn't allow you to share anything with multiple devices, a single port can still only be mapped to a single IP address.