My setup is; (I tried with traditional separate switchgroups first - same result)
Basically a Distributed-Switch over the two hosts with 2 Port-groups,
one Trunk VLAN (all) and one VLAN tagged with 100)
pfsense connected to Trunk VLAN - and created VLAN inside pfsense with 100 tag
then VM uses the VLAN portgroup (that is tagged to 100)
works like a charm, DHCP, internet etc. - when Iam on the same Host.
but when VM is on the other host, nothing works, no DHCP, even if i set static ip to what i have selected - i can not even ping the gateway.
I have moved both pfsense and VM's back and forth to exclude there is a specific issue with one of the hosts.
I guess there is something in the underlying network that is the problem, according to the vendor (Iam colocated) this network (that my distributed switch is using for uplinks thru one card per host) is a PRIVATE VLAN allowing 0-4095, so I assumed it would work... this is really out of my competence zone :)
However I don't see how this can happen within the DSwitch in ESXi (that should be distributed over the hosts)