Bugs against Android OS seem to point to it being a problem specific to the Android platform. Finger pointing at Linux or the hardware in these threads but no solid solutions.
https://code.google.com/p/android/issues/detail?id=12649 https://code.google.com/p/android/issues/detail?id=74990Some people claim success with this:
https://play.google.com/store/apps/details?id=com.heleron.wifiroamingfixOdd that Android and Linux didn't fully implement the 802.11 based roaming standards. (802.11r being one of them). Back at my old house in 2003, had roaming going between two Airport Expresses situated at each major area similar to your setup Dan. Though back then, both Airport Expresses simply handled WiFi, and no NAT or routing at all.