You could try jumbo-frames. Are you using a firewall (like pf) on FreeBSD ? Is the result CPU bound (are you using 100% cpu ?)?
Have you tried to set network-card-Features ? As far as i remember this could be due to LRO, TSO etc. not set on Freebsd.
Have you tried to set
Hardware Checksum Offloading
[X] Disable hardware checksum offload
I have the same problems with pfsense throughput without disabling the hardware checksum. Throughput is < 100 Kbit otherwise.