Not done a VM install, so not sure. Depends on what type of VM, how many ports, IP ranges you are using, and routing. A little piccy might help with the ip's. VM's do have nasty issue sending the response back via the interfaces real IP rather than the VIP, this would mean ping would work, but http or any TCP connection would fail.
Some things to try.
Try a traceroute to both sides to see which way it goes.
Try ssh firstname.lastname@example.org
pfsense using LAN ip, if that works then routing not a problem to LAN
Try 'telnet x.x.x.x 80' LAN IP again. See if it connects, if it does then your browser is probably proxied. take proxy of and connect direct.