mysql_upgrade promises to use the current user to connect to the server unless it was specified in options, but it doesn't happen, it actually has root as a hardcoded default:
Apparently it has always be so, didn't matter much. It may be a bit more important after switching to unix_socket authentication in 10.4+, because the current user may well have a super-user account in the database. Still, if we want to change it, it is probably only safe to do in 10.5+. Alternatively, we can claim it is by design and just change the help text (which should then be done in all versions where it doesn't work).