My apologies for the delay on this one.
Communication from VMs deployed on HyperV is done via a Virtual Switch. The switch can be configured to isolate traffic to just the HyperV VMs, or both allow communication between the VMs and to outside networks / Internet.
All 3 types of virtual switches should allow traffic between your HyperV VMs on the same server. If you are having communication issues, make sure that the OS firewalls allow the communication.
Communication should be done via the DIP (Vnet level IP), and should be a different IP range than the VNET that the VM is in.
For your last question, you are asking how to get 2 different VMs on 2 different Nested Virtualization hosts to communicate? You will need to configure the routing so that traffic destined for that IP will go to the host VM, which can then forward to to the correct nested Virtual Machine.
Make sure you use External for your Virtual Switch type.