Váš dotaz je nesprávný. Je třeba změnit dotaz
db.words.find({ "$text": { "$search": `"\"${text}\"` } })
do
db.words.find({ "$text": { "$search": `\"${text}\"` } })
Protože je zde navíc dvojitá uvozovka ("
) na začátku po první zpětné uvozovce. Tím se váš dotaz opraví.
Jednoduchá ilustrace:
console.log("\"cake sale\"");
var text = "cake sale";
console.log(`\"${text}\"`);
// both the console.log gives same result