You're saying that in a train, if I do a track once and connect to every open network (assuming no captive portal) and obtain DHCP offers, thereby obtaining IP subnet information and being able to guess an unoccupied IP address later, I can connect to the networks on my way back and get responses from a remote server to one or two packets?
Say there is about 20m of track where a given router is in range (train won't be running that close to the building and there is a wall in between) and we're doing 130km/h, that gives me about 20/(130/3.6)=0.56 seconds of range time. A server within the same country (the Netherlands) is usually <40ms RTT on any network, so PHY+SYN+data+responses = 10+40+40=90ms, easily in range of 560ms. A tricky part is knowing when I'm in range (I shouldn't wait for a beacon), but with GPS and triangulation of beacons it shouldn't be hard to figure out where each AP is and when I'm in range. Worst case I have to do the track a few times to get enough beacons to see where signal starts and stops.
Big name brand vendors will sell you APs that support some proprietary coordination mechanism between them (usually with central "wireless network controller" as separate device), but that is not required for roaming to work. Such solutions (apart from centralized management) are mostly to keep your APs from interfering with each other (which is non-issue unless you have more than three and unless they are placed in unfortunate physical locations).