Fun fact: Both code-paths do the exact same thing ^^.
They both call `promptWifiOn`, which calls `turnOnWifi`, which calls `showNetworkMenu`, which then does the wpa_client stuff via our Lua frontend the exact same way in both cases.
(The only thing different is the connect_callback, which should be irrelevant here).
TL;DR: The manual prompt should behave exactly the same as the auto-connect.
Hence I'd really like to see what wpa_supplicant is doing behind the scene if that's not what actually happens (i.e., syslogs plz ;p)

.
I have almost no experience with wpa_client's guts and behavior myself, but your final paragraph does sound sensible. And might explain the behavior you've seen (i.e., luck).