without hashed, it would be a range based sharding, right ?
Yes it’s called range sharding, but as far as I know it basically means that the shard key supports range queries. In contrast, hashed sharding does not support range queries.
range based sharding is suitable for scenarios where queries involve contiguous values.
Yes but I don’t think it’s limited to this application (queries for coniguous values). You can definitely use it for non-range queries as well.
hash based sharding should be used when a random distribution of the data is to be achieved
This is true. However from your description of your _id
field, it appears that it already is semi-random (at least I think it is, due to the use of UUID). However I can’t really say for sure that it’s truly non-monotonic due to the use of timestamp in the key as well. One way to know is to simulate how the sharded cluster will behave over time using simulated workloads. If the _id
field does not create any hotspots in a shard/chunk after an extended simulation, then I think it’s a valid alternative to a hashed key.
Sorry I know this is not what you’re asking and this has went off-topic. I’m just trying to provide alternative thoughts 
Best regards
Kevin