TL;DR:
Změnit var leads = Lead.find({"contacts.surname":req.params.name});
Komu:
var leads = await Lead.find({"contacts.surname":req.params.name});
Vysvětlení
model.find() pouze vrací dotaz. Dotaz za vás neprovede. Proměnná 'leads' je tedy aktuálně dokument dotazu Mongoose.
Když uděláte res.send(leads), express interně provede toto:
JSON.stringify(leads)
stringify() nemůže převést kruhové struktury na JSON. Proto ta chyba.
Pokud by zde někdo mohl objasnit, proč je dokument dotazu Mongoose kruhová struktura, bylo by to skvělé!