Hello
When you say your expectation is that the VM's cannot communicate, are these VM's that are all in the same subnet?
By default, virtual machines in the same subnet can communicate based on a default NSG rule allowing intra-subnet traffic. If you want to force two VMs in a subnet to communicate via a firewall and not directly to each other, you can add a rule to the Network Security Group (NSG) that denies all inbound and outbound traffic between the two VMs. This will prevent them from communicating directly with each other.
You can then configure your firewall to route traffic between the two VMs.
I hope this clarifies things
Alistair