controlla dalla clausola, è il nome della tua collezione? Ho usato il nome dello schema invece del nome della raccolta che risulta in un risultato vuoto.
{$lookup:
{
from: 'classes', //check this
localField: 'owner',//**String**
foreignField: '_id', //**ObjectId**
as: 'classes'
}
}