The issue turned out to be the TCP offload of segment re-assembly with the e1000 and vmxnet3 drivers.
If the guest forwards packets, i.e. a linux firewall or router, then having the incoming TCP segments combined by the driver can result in quite large packets ( depending on the arrival rate ) being presented further up the stack. When such packets are passed through the upper layers and the OS attempts to transmit the now oversize packets out another interface, they exceed the MTU of the out bound interface. An ICMP fragmentation required response is sent back to the sender. Trouble is, it was already sending packets with the correct MTU. So communication is now broken.
In my case, setting the NICs on my firewall/router back Flexible forces the guest to use the pcnet32 driver which does not support the offloading functionality.
A comment found on another forum indicated that using ethtool to turn off the TSO functionality with the vmxnet3 driver no longer worked for them at ESXi4.1U1 so I didn't bother trying that.