Access lists will allow you to control what device connects to which AP but you have to manually decide.
Perhaps you could do some OUI lookup to determine 5GHZ capable devices or deny access for a while and see if they connect to 5GHz and if not then allow 2GHz ?
It would be a good trick if we could solve this but I haven't had time to look too hard at this.
No, we do not want to do this under any cicumstances. Access Lists are horrible for steering clients (even for dropping them off the WiFi when their signal gets bad).
Looking closer at the probing and association behavior of mobile clients makes it clearer - take the iPhone for example: When it fails to associate to a given AP for a certain number of times (I don't remember the correct number, but it was single-digit), it blacklists the whole SSID, not only the BSSID. That's the point when you have to manually select the WiFi again. And that's what would happen when using access lists.
Android behave a little differently, but not much better at the end of they day.
Steering clients to 5G has to be done on AP/Manager side. Keep a table of mac addresses which are sending probes. if a 2.4 and a 5GHz probe was received from the same MAC address within a certain amount of time (we're talking in the range of millisoconds), only reply with the 5GHz radio, do not answer probes on 2.4 (unless the received signal is too bad on 5GHz but still acceptable on 2.4) Done.
Another approach is adjusting beacon intervals: 102.4ms on 5GHz, 204.8ms on 2.4GHz. Done, but that's still hacky.
Not to mention 802.11v
Unfortunately, MikroTik does not offer any of these. And I get the gut feeling that they don't listen to their users :-(