Using surrogate users which should be authenticating on the db that defined the user yes.
When using external authentication mechanism (i.e. kerberos) this authdb is set to $external and server->mechanism is set to MONGO_AUTH_MECHANISM_GSSAPI.

I didn't add the check for MONGO_AUTH_MECHANISM_MONGODB_CR as I suspect we need to do a bit more work then a if/else in authenticate_connection()