Solution 1:

First of all, you really need to use virtio_net and not e1000 or rtl, because the latter are both emulated, and that basically means slow. In Windows, since the OS itself has no ability to add vlan tags, you usually create a tagged interface on the host, add a bridge on top, and attach your VM to that bridge, that is already passing tagged traffic.