A hidden index helps users evaluate the potential impact of dropping an index without actually dropping the index. That way, the user can just unhide the index if the impact is bad. Hidden and dropped indexes should therefore have the same behavior.
For sharding, however, we allow a shard key index that cannot be dropped to be hidden. In order to maintain consistency, we should not allow users to hide a shard key index that cannot be dropped.