In FreeBSD bhyve passthrough
works as well. I've been using it for a couple of years now, as do many others. To be precise, it just doesn't work smoothly in ALL cases, and
your case seems to be a bit of a bad luck. What else? This: GPU passthrough is a relatively new thing in bhyve -- you may have missed that in the documentation you read in a hurry.
As for OmniOS and the probability that its
port of bhyve will work better for
your case than FreeBSD... I'll be glad if it does

.
However. OmniOS is Illumos-based (tracing back to OpenSolaris). Developer resource is, I suppose, far more limited than that of FreeBSD. But bhyve code comes from FreeBSD, not from anything Solaris. Were they able to solve all the passthrough problems it has under FreeBSD?? I think it more likely that it
works in OmniOS
as much as it does in FreeBSD. But perhaps it's worthy trying.