Sì, va benissimo usare un valore casuale per un ID oggetto, se qualche valore è presente in _id
campo di un documento in fase di archiviazione, viene trattato come objectId.
Da _id
il campo è sempre indicizzato e la chiave primaria, è necessario assicurarsi che venga generato un ID oggetto diverso per ogni oggetto. Esistono alcune linee guida per ottimizzare gli ID oggetto definiti dall'utente:
https://docs.mongodb.com/manual/core/document/#the-id-field.