You guys are not testing what you think you're testing
The explanation requires diving into how AQL works a bit: The queue limits are per-station, but there are actually two per-station limits. A low limit (default 5ms) and a high limit (default 12ms). The low limit is a lower bound on throttling (meaning a station will always get to queue up to the low limit), and the high limit is applied if the total airtime for all stations is below aql_threshold. I.e., with the defaults, two stations can queue up to their high limit (12ms) before hitting the threshold, so the low limit is only applied if more than three stations are active at the same time.
This means that when you're lowering the aql_threshold, you're just tightening the bounds within which the low limit will get applied, you're not actually changing the limit. Given that you're only testing with two stations this has the immediate effect of pushing the two stations down to their low limit most of the time, and as you lower the threshold further towards 5ms, you'll get the low limit an increasing fraction of the time. And of course this explains why you're not seeing any difference after lowering the threshold below 6ms: below that, a single station will use up to the threshold, so you're effectively disabling the high limit entirely. But lowering the threshold below that won't make any difference, and any variation between those low values is just noise...
If you want to change the actual queue limits, you'll want to fiddle with the aql_txq_limit
sysctl, which will also show you the actual limits:
# cat /sys/kernel/debug/ieee80211/phy0/aql_txq_limit
AC AQL limit low AQL limit high
VO 5000 12000
VI 5000 12000
BE 5000 12000
BK 5000 12000
As you can see, the limits are set per AC, and you can change them by echoing 'ac low high' into that file. So if you just want to test with a fixed queue limit for all stations, you could do something like:
# LIMIT=5000 ; for ac in 0 1 2 3; do echo $ac $LIMIT $LIMIT > /sys/kernel/debug/ieee80211/phy0/aql_txq_limit; done
# cat /sys/kernel/debug/ieee80211/phy0/aql_txq_limit
AC AQL limit low AQL limit high
VO 5000 5000
VI 5000 5000
BE 5000 5000
BK 5000 5000
These values can also be set per-station (in the 'aql' file beneath the station dir in sysfs), but if you haven't customised the station values, changing the global values will also update all stations.
Also, I do agree that testing with lower values is worthwhile - the defaults are probably too high for general usage. I believe that they are set to avoid thoughput drops at very high rates (where it's difficult to fill the buffer fast enough to form big aggregates) and at very low rates where single packets take up a lot of time. So verifying results at those extremes is probably going to be necessary to gain any traction with changing the defaults upstream