From what I understand when a wireless client speaks to an access point, the access point asks the client what it supports.
The 2.4 only client states 802.11b, 802.11g and 802.11n.
The 5ghz only client states 802.11a, 802.11n and 802.11ac.
Some of these 2.4ghz devices seem to not know that 802.11n supports 5ghz.
So the client states I support 802.11n, and the access point tries to connect the client to 5ghz.
So I put it down to lazy programming in the client.