When any auth mechanism properties are set, the entire hash is overwritten during option processing. This has the side effect of dropping the default service name, if a service name isn't explicitly provided by the user.
My reading of auth spec is each option is independent, and thus service name should be set to mongodb if a different one isn't explicitly provided.