VLAN routing - ways to go about it

Tried posting back in March, but didn't get any responses, thought I might simplify things.

I have an OPNsense firewall running as a VM under Proxmox.
I have other VMs and containers also running under Proxmox.
I have physical VLAN capable switches and network access points.

I'd like to trunk VLANs between the firewall VM and the physical network equipment, but also selectively send specific VLANs to specific VMs and containers.

Are there any good guides with examples on how to do this?

One suggestion seems to be, for the virtual stuff at least, to just create one interface per VLAN. This seems a bit messy?
My understanding is that this trunking (both overall and selective) and using SDN features are other options.