Thank you everyone, a lot of good suggestions.
I actually did some testing myself even before reading the replies. Tried iperf and copying a large file from NAS. Both mkx and CGGXANNX are correct. One CPU core was only 40-50% while 1Gbps link was saturated. I always knew ac2 is a very capable device (which is why I deployed it for several friends and have like 4 spares available

), it just continues to surprise me with its versatility.
Depending on your setup, you may be able to work around this limitation by separating hw-offloaded switch ports and wifi interfaces to different bridges. I.e. one hw accelerated bridge for wire speed switching without CPU load and one separate bridge to handle your wifi traffic and vlan tagging on the CPU.
This is a good idea, I took note for myself to keep it as plan B.
I also discovered another possible solution. I noticed Quick Set has the option for a guest WiFi, so I tested it to see what it does. It creates two extra WiFi slave interfaces with guest SSID, adds them to the bridge, and then adds 4 bridge filters.
/interface bridge filter
add action=drop chain=forward in-interface=wifi3
add action=drop chain=forward out-interface=wifi3
add action=drop chain=forward in-interface=wifi4
add action=drop chain=forward out-interface=wifi4
Since in this particular case I'm setting up an ac2 for my relatives who don't need anything fancy and don't have external APs, I might just use this approach.
Installing wifi-qcom-ac on hAP ac2 actually comes with a different, but pretty grave, drawback: it uses up almost entire flash storage and many users reported soft-bricking device afterwards
Thanks for pointing out, I did see discussions about that. I've been using one ac2 as a wireless client with wifi-qcom-ac package installed. With 7.18.2 it has 276 KiB free space, no issues so far. I've been keeping an eye on it, and it has been the same for quite some time now. I don't have anything writing to flash. I know one thing that is being written to disk with default configuration is DHCP leases. But it can be disabled. I suspect this is what causes space issues for many people. But definitely something to watch out for.
I saw someone mentioning a huge switch driver (Prestera?) being part of the base OS. Maybe MikroTik will eventually find a way to split out more things. They have too many 16MB devices to ignore this issue.