VMware vSphere ESXi
The issue is caused by VEB (Virtual Ethernet Bridging) mode. As per the NIC documentation - https://techdocs.broadcom.com/us/en/storage-and-ethernet-connectivity/ethernet-nic-controllers/bcm957xxx/adapters/Configuration-adapter/tunneling-configuration-examples.html#tunneling-configuration-examples_title__bookmark256, this mode generates an internal bridge within the NIC for VM-to-VM communication. The Ethernet frames traverse through the internal bridge. So they may skip going down the wire to the physical switch if the destination is also on the same physical NIC (even if the port/vmnic is different). And without going to the physical switch, the same/wrong VLAN is used and packets are not received. RX filter programed on the vmnic may affect this, so high load (which causes RX filters applied on a non-default queue) may have an impact.
VEB is generally used in SRIOV environments. If SRIOV is not in use, it can be safely disabled. Referring to below NIC settings from the server BIOS, to disable VEB, we can set the "Default EVB Mode" to "None".