I've been using an EA6350v3 for awhile now. It currently has two major flaws, but I would still choose it from the options you listed. It has much better 5GHz wifi than the Archer C7 (which I previously used), the processor is superior (quad core) and it has plenty of flash and memory (128/256).
The first flaw is that 2.4GHz wifi performance with stable 19.07 or latest master is simply terrible until you replace the calibration file. This can be fixed by replacing the calibration file with the "pwr.bin" calibration file available from the optimized build and rebooting. I've done it enough times upgrading firmware that I save the commands to cut and paste them, so here you go!
# From network computer (x.x.x.x is router IP adddress, e.g., 10.10.20.1):
scp pwr.bin root@x.x.x.x:/lib/firmware/ath10k/QCA4019/hw1.0
# log into the router and change out the file
ssh root@x.x.x.x
cd /lib/firmware/ath10k/QCA4019/hw1.0
mv board-2.bin board-2.old
mv pwr.bin board-2.bin
Or you can use NoTengoBattery's optimized build.
The second flaw is endemic to all ipq40xx devices. A recent VLAN double tagging patch seems to fix nothing anyone actually uses, but breaks vlan tagging on the physical ports. There is now discussion and a patch proposed on the developer mail list to fix this, so, fingers-crossed, this problem should go away shortly in both master and the next 19.07 release.
Or you can use NoTengoBattery's optimized build.
Edit:
For clarity, VLAN support currently works over wifi. I have my EA6350v3 set up as an AP providing home LAN, Guest and IOT VLANs over wifi to the house. The flaw that affects the physical ports does not seem to affect managing VLANs over wifi, so this should not be a problem for your use. There is a trick though - do not use luci to edit the VLAN set up and do not touch or change the default LAN eth0 and WAN eth1 assignments. Put your vlan's on eth0.20, eth0.30, etc.
Another edit:
I use the calibration file from a back version: openwrt-1.11.oc.tar.gz
The pwr calibration file is located in the archive here: /files/etc/calibration/pwr/board-linksys_ea6350v3.bin
Which, I have renamed from board-linksys_ea6350v3.bin to pwr.bin some time ago to save typing when I copy it to my router.