Currently, when a mongos is added to the config server mongos collection, it is added with the hostname().
However it is possible to set a specific saslHostName,
--setParameter saslHostName=myHostName
which will be used for Kerberos authentication.
If the mongos collection is relied upon for discovery in conjunction with Kerberos authentication (and a keytab that only includes the saslHostName), authentication will fail.
This issue affects MongoDB's Monitoring Agents, as the discovered hostnames cannot be used. Kerberos in this case, does not have any knowledge regarding the local hostname, only the saslHostName.
Ideally, the mongos should (optionally?) upsert the saslHostName if specified instead of the hostname().