Unable to get VLAN's to work

I’ve got a somewhat unusual networking setup. Proxmox host, has 2 eth interfaces, one is passed directly to OPNSense VM for connecting to the cable modem. The other is a OVS Bridge, with the OPNSense VM connected via virtual interfaces. It connects to the rest of the network with a Dell Powerconnect 6224 switch

I’ve tried every variation of configurations I can think of and I just cannot get this setup to work with VLAN’s. The only thing that works over vlan’s is the internal proxmox vm’s, which work just fine. I feel like this switch just doesn’t support the way I want to use it, or the dell documentation on configuring it is outright wrong.

OPNSense interfaces:
10_Trusted   (VLAN 10)
20_IoT   (VLAN 20)
30_IPCam   (VLAN 30)
60_Public   (VLAN 60)
LAN  (VLAN 1/default)

Tried having:
one virtio network device with vlan interfaces parented, tagged in opnsense
one virtio network device for each vlan interface, tagged in proxmox

current switch settings:

interface ethernet 1/xg4
description "prox.trunk"
switchport mode general
switchport general ingress-filtering disable
switchport general allowed vlan add 10,20,30,60 tagged
switchport general allowed vlan add 1 tagged
interface ethernet 1/g3
description "client.test"
switchport access vlan 10

the only time traffic passes at all is when everything is connected to unconfigured ports on the dell switch

What you are trying to do is a lot more complicated than you probably realize. A firewall is a network device and it works best with phsycial network ports, especially when you need to do layer-2 things like VLANs.

I have a very similar setup, but I have a dual-port NIC that is passed to OPNSense, so both WAN and LAN are real interfaces, then Proxmox connects to the switch separately with the motherboard NIC and accesses the internet over the switch, just like everything else on my network. That might seem wasteful, but it keeps nice clean separation between your firewall and server. In my case, I only have a gigabit switch, which my gigabit internet can fully saturate, so its also nice that server bandwidth isn’t shared with internet bandwidth.

In order to do what you are trying to do, you would need to create sub interfaces in Proxmox for every VLAN, on both the virtual interface AND the physical interface connected to the switch, then pair each set of subs together as a bridge. Not only is that overly complicated, but it puts Proxmox in the middle of every etherframe moving over your network, which will needless use a lot of CPU.