findById di Mongoose il metodo esegue il cast di id parametro al tipo di _id del modello campo in modo che possa eseguire correttamente la query per il documento corrispondente. Questo è un ObjectId ma "foo" non è un ObjectId valido, quindi il cast non riesce.
Questo non accade con 41224d776a326fb40f000001 perché quella stringa è un ObjectId valido.
Un modo per risolvere questo problema è aggiungere un controllo prima del tuo findById chiama per vedere se id è un ObjectId valido o meno:
if (id.match(/^[0-9a-fA-F]{24}$/)) {
// Yes, it's a valid ObjectId, proceed with `findById` call.
}