I'm using Bhyve and doing PCIe passthrough of some NVMe's to a Linux guest.
To my slight surprise, PCIe passthrough was device dependent, ie not all PCIe devices were supported. I'm running TrueNAS which runs a slightly older FreeBSD kernel, and from what I could gather GPU passthrough would not work there. IIRC the latest FreeBSD has some support for that.
But network cards should work, and NVMe's definitely work.
However it wasn't straight sailing. Using the approach from the wiki[1] did not work directly, I had to mask the devices using a pre-init boot script with
devctl set driver -f nvme1 ppt
[1]:
https://wiki.freebsd.org/bhyve/pci_passthru