You may use anything value for the field _id, a number, a date or a string, even an object but not an array. The only restriction is that is has to be unique within the collection. It has to be unique because all collections comes with a default index on the _id field. You may even have different type within the same collection.
Here are some example:
mongosh test> c.find()
[
{ _id: 369 },
{ _id: '369' },
{ _id: ISODate("2022-04-09T18:12:37.203Z") },
{ _id: { user: 'steevej', domain: 'gmail.com' } },
{ _id: ObjectId("6251cdb3347f73b0e4852b62") }
]
So, yes setting you existing unique IDs as the _id will help performance because you get an index by default.
You probably cannot convert your unique (9 to 10 random number) IDs to an ObjectId() because it is special as special as explained by @NeNaD but you may certainly use them as is for the value of the _id field.