isMaster command is a part of an authentication handshake protocol. Hence if the driver used __system user then it will fail on isMaster when trying to auth a connection as the __system gets a dummy signature by design.
Bypassing the dummy signature on isMaster on unauthenticated connection will allow authentication to complete without exception.
Suggested Implementation
1. Factor out https://github.com/mongodb/mongo/blob/r4.1.1/src/mongo/db/initialize_operation_session_info.cpp#L52-L61 into a separate function hasAuthUsers
2. Add
bool needsSessionAndClusterTimeInit = requiresAuth() || hasAuthUsers(); // e.g. for the isMaster on the non-authenticated session will return true.
3. pass needsSessionAndClusterTimeInit into readRequestMetadata and validate clusterTime if the condition met