I haven't looked at the implementation, but I'll assume it's flawless. The issue is that it doesn't address the broader problem. Like the "official" iPhone app that has a giant, colorful "Join mastodon.social" button above a transparent "Pick another server" option, it serves to push people toward m.s and away from a good federated experience.
It's not about having the necessary version. The feature has to be cookie driven, right? Otherwise, mastodon.social wouldn't be able to remember that an unauthenticated visitor has an account elsewhere. Such a cookie almost certainly won't be available across servers (thanks, ad trackers for ruining it for everyone). That means a user would have to fill in that form for every single remote instance they visit.
Think of it this way: suppose a user visits a tiny Mastodon server at social.example.com. They click a user's follow button. How will social.example.com know to redirect the user to the home instance they configured when they visited mastodon.social?
> If I’ve downloaded the Mastodon app without having a server in mind what is the app supposed to do, just list them all?
If someone clicks the "pick another server" option, they're taken to a perfectly serviceable chooser. That should have been the default. It works for all the other apps that don't default to mastodon.social.