I think it takes the user as an argument, so it could relatively nicely solve the problem (though maybe would be too susceptible to DOS attacks since it requires a new process per connection attempt, although openssh should rate limit anyway?)
No? Usernames are optional in SSH URLs.
Which isn't always in sync with their GitHub username. Which might even be "root".