After hours of looking up on the internet I found that I have included a property called
transitionToAuth: true
Due to this it does not waits for adhoc authentication rather authenticates based on the keyFile itself. this is why I was able to see all the databases in my shards directly.
New learning! Phew!