Revisiting this today, the 10-second connection time is no longer happening. I think you were right that it was a DNS issue. Nonetheless, here is the output of the requested command:
> nslookup -type=SRV _mongodb._tcp.serverlessinstance0.abc123.mongodb.net -debug
Server: 8.8.8.8
Address: 8.8.8.8#53
------------
QUESTIONS:
_mongodb._tcp.serverlessinstance0.abc123.mongodb.net, type = SRV, class = IN
ANSWERS:
-> _mongodb._tcp.serverlessinstance0.abc123.mongodb.net
service = 0 0 27017 blah.abc123.mongodb.net.
ttl = 60
AUTHORITY RECORDS:
ADDITIONAL RECORDS:
------------
Non-authoritative answer:
_mongodb._tcp.serverlessinstance0.abc123.mongodb.net service = 0 0 27017 blah.abc123.mongodb.net.
Authoritative answers can be found from:
> nslookup -type=TXT serverlessinstance0.abc123.mongodb.net -debug
Server: 8.8.8.8
Address: 8.8.8.8#53
------------
QUESTIONS:
serverlessinstance0.abc123.mongodb.net, type = TXT, class = IN
ANSWERS:
-> serverlessinstance0.abc123.mongodb.net
text = "authSource=admin&loadBalanced=true"
ttl = 60
AUTHORITY RECORDS:
ADDITIONAL RECORDS:
------------
Non-authoritative answer:
serverlessinstance0.abc123.mongodb.net text = "authSource=admin&loadBalanced=true"
Authoritative answers can be found from:
Is anything unexpected or standard there?
I will also look into using standard mongodb://, thanks for suggesting that.