My counter question is, do you ever see rates above 54 Mbit/s with your config?
From my observations, I currently believe only one statement can be true:
That either STA and AP can negotiate any 802.11n/ac MCS rate independently of the "core" rates, and then it's okay for them to negotiate 6.5 in accordance with 802.11n/ac regardless of
supported_rates'. In this case, it's impossible to support roaming by disallowing low "core" rates insupported_rates`.
supported_rates needs to list all allowed rates, 802.11a/g "core" and negotiated 802.11n/ac MCS rates. In this case, it's a rather long list and you won't see rates above 54 Mbit/s with your current config.
You wrote that "only the core n rates that go in there" (
supported_rates) and that "higher rates are described by the extended MCS schemes that the two endpoints can still negotiate". But unfortunately, there are also lower rates which can be negotiated.
If that's the case then what is the exact logic which causes all negotiated 802.11n/ac rates to be higher than, well, I guess the lowest supported "core" rate?
I haven't finished testing all scenarios but I had strange effects and it took me a lot of time to try and isolate the config option which appeared to cause them. I even posted a wront response here. At some point in time, I had to postpone tests and get the system back to a reasonable level of WAF oriented operation.
BTW, which OpenWRT version do you have installed? Interestingly, the semantics of config options seems to change sometimes...