Du kan ikke konvertere strengen til et objekt-id inden for pipelinen, du bliver nødt til at gå gennem hvert dokument og konvertere det manuelt ved at bruge noget i stil med (du burde alligevel ikke gemme en blanding af typer, så det er nok værd at opdatere i det lange løb køre):
hvordan man konverterer streng til numeriske værdier i mongodb
hvad angår bruger $lookup indeks, hvis du ser på statistikken fra denne blog, vil du se, at indekser bruges -
http://guyharrison.squarespace.com/blog/2016/7/4/join-performance-in-mongodb-32-using-lookup.html