Interesting question.
Generally, it depends on which of these will be simpler for you operationally. From the point of view of application of course a single cluster may seem simpler (a single connection URI) but it still has to know which DB to connect to for which part, so having different URIs is not really a big deal here.
Operationally, some things will be simpler when you have a single cluster, and others will be simpler when you have multiple smaller clusters. It's hard to say with certainty which will be better for you. In many ways multiple systems are easier to tune because you can adjust hardware based on requirements of the specific part of the application that's using it, but you have to track a lot more things. Sharding a large system allows you to add shards and using tags you can "allocate" specific shards to certain workloads...
I think a single larger cluster while simpler conceptually will probably be slightly more difficult to get right, but once you do, you'll be all set. Replica sets are easier to manage and keep clean separation, but you will constantly be tweaking them and always need to monitor them separately...
Asya