Hmm i see this post move to all kind of angles.
a word about mtu:
If the mtu is default usually there should not be a issue when 1500 (or DSAs default), except when a vpn is involved often an mtu of 1384 is recommend for a client, but i have seen situations you may want to crank this value down to 1280 mtu especially when wifi was involved.
1240 mtu is the minimum requirement for ipv6.
In my server setup i have wireguard set to 1550 and wan 1580, at home i run a vxlan tunnel over wireguard so it must have a high hierachy of mtu, but on my road warrior the mt3000 i take on vacation with often expected bad wireless throughput i had to set the mtu to 1280.
One of the major issues here is that it immediately fixed the upload being higher than download effect, this could be a indicator for you to if mtu was a issue
So what i want to know: do you use any protocols like wireguard, pppoe or very complex setups like ethernet vpn?
A word about link speed:
The wifi chip (mt7986) offloads packets to the cpu, the chip can do that very effective, but the cpu is also bound to the DSA switch (Distributed switch architecture).
With other words the chip can do more, but it is bottlenecked to what the cpu can handle, so the maximum what wan can archive is what you likely can expect as real link speed on wifi but reduced due to certain noise factors in wifi itself.
As for your issue that it drops lower:
Are there external noise factors such as a connected usb stick?, a fan?
Have you tried setting the country via luci, 80mhz width, and the lowest supported channel and then increment it with the next lowest possible option?
There is also a option in advanced tab also in luci -> network -> wireless -> ap? (Click edit), called Disassociate On Low Acknowledgement
try to uncheck it.
On the devices with the issues, do they use features like power saving mode?, you can try to disable it.
Have you tried without bluetooth active on these devices?