Sim, usar o ObjectId do mongo é o caminho a seguir. A única coisa é:você tem que gerá-los você mesmo, no código do aplicativo. Eles devem ser globalmente exclusivos, trabalhadores diferentes não gerarão dois ObjectIds idênticos, portanto, não há condição de corrida nesse sentido.
Todos os drivers oficiais devem fornecer uma maneira de gerar ObjectId. Veja como é em Ruby:
oid = BSON::ObjectId.new