I've been able to narrow down the problem to VLAN tagging. If I reconfigure the hypervisor to tag the virtual interface for a specific VLAN and disable VLAN tagging in OPNsense, I get a working network interface. But obviously for that specific VLAN only, so this isn't a work-around.