The client drives the roam. Before tweaking further with router settings you might be suffering from AP placement or sharing a SSID between two bands with different physics. I’d take a second to make some measurements first.
Apple has a nice write up of what triggers a roam for iOS devices. If you have the same SSID on both bands, 2.4ghz and 5ghz will have different RSSI at distance - so depending on your environment, interference, and AP placement, your device will make the choice to jump. If you don’t like the physical location of where it is jumping to another band or another AP - take some RSSI measurements all throughout your environment to see how each band and each AP is seen by the client throughout your house.
Consider:
- more or less transmit power (sometimes less is better)
- different SSID for 5ghz and 2.4ghz. It is impossible to create a clean 67dB overlap between APs for both bands simultaneously. Consider setting your faster devices to a 5ghz only SSID and optimizing APs for 5ghz overlap. I found a good spot halfway through my house that I wanted fast clients to hand over. I placed APs high & unobstructed, turned down the transmission power to 20 (both APs RSSI were ~67dB at this midpoint after these changes), and kept iOS on a 5ghz only SSID.
- physically changing where heavy items / mirrors / other items are placed that kill wifi…..or changing AP location to optimize for these factors.
Write ups:
MacOS write up has a little more detail (not sure if iOS has the same selection logic but Apple tends to make things similar):