Debería agregar un filtro que pueda usar este índice de esa manera para cambiar ese plan de consulta; no todas las operaciones eliminan la etapa FETCH, p. $exists no parece funcionar:
db.coll.find({ _id: { $ne: 0 }, { _id: 1 }) // works for ObjectIds
Una parte de la explicación de esto se encuentra en la documentación :
Me parece recordar haber visto una solicitud de JIRA para admitir eso sin el filtro, pero no recuerdo qué ticket era...