This VLAN stuff doesn't work. I'm using a hEX RN750Gr3 and it barely supports VLANs. Deal killer is that it cannot add VLAN tags on egress, so traffic from the internet cannot be sent to the WAP on the guest VLAN.
That's not true. VLANs are just "different" in RouterOS if you're more familiar with other vendors' implementations....
The difference is that for Mikrotik's methodology, you really need to have a firm grasp of how vlans work and how tagged vs untagged traffic is forwarded on the wire in order to effectively utilize their capabilities. This is because RouterOS's components are very 'atomic' in nature, and the way you connect things together leads to the vlan behavior that you want. You can actually do some very interesting things in RouterOS with bridges and vlan interfaces - many of them are not advisable

.
Consider these two configurations:
Bridge1 (ports = ether1, ether2)
-vlan10
-vlan20
IP interfaces in this scenario are Bridge1, vlan10 and vlan20. Bridge1 = the untagged vlan on ports ether1 and ether2. In this build, any ethernet interface you add to bridge1 will be a "trunk" that carries all of the VLANs and the untagged "vlan"
vs:
ether1
-vlan10e1
-vlan20e1
ether2
-vlan10e2
-vlan20e2
Bridge10 (ports=vlan10e1, vlan10e2)
Bridge20 (ports=vlan20e1, vlan20e2)
In this case, the IP interfaces are Bridge10 and Bridge20. Each vlan can be delivered to individual interfaces independently of each other - and the tag need not even be the same on different interfaces. You could add vlan130 to ether4 and connect that vlan interface to Bridge20. Now, whatever is tagged vlan 20 on ether1 and ether2 would be vlan130 on ether4. You could even add vlan130 to ether1 or ether2 and add this to the bridge as well - meaning that ether1 now carries a single broadcast domain (vlan) but sends/receives this network on ether1 as BOTH tags 20 AND 130. (why you'd want to do this is debatable, and I'd be against such a thing - but the point is, it can be done and it would work as expected if you keep the behavior of each atomic component in mind).
In my earlier post, I recommended that you use method 2 here because it allows you to do client isolation on the guest bridge, while not doing client isolation on the main lan bridge. In method 1 above, if you put ether1 and ether2 on the same horizon, then all vlans on those interfaces will be subject to split horizon. In method 2, since each vlan is a separate bridge, you can do split horizon on one vlan, and no split horizon on the other.
Again, note that doing method 2 requires that your WAPs must tag traffic for both the guest AND the primary LAN, because the untagged "vlan" on each interface is not connected to anything - thus it won't get bridged anywhere.