As we know currently from the MongoDB documentation, if you have sharded collection and you want a specific field to be a unique index AND also have a shard key, the constraint is that shard key has to be this unique index’s prefix.
Unfortunately due to the way sharded collection works, the unique index must contain the full shard key as a prefix of the index. Using a proxy collection is the only supported solution at this moment.
Unfortunately, we cannot predict when the functionality will be ready. You might, however, keep an eye on the aforementioned server ticket for updates.