Мисля, че вашата върната стойност finalQuizs се попълва преди forEach изявление. Така че заявките за актуализиране не го променят, както очаквате. Това е причината да получавате актуализирани данни след опресняване на страницата.
Ако очаквате да имате user_participated: true в върнатата стойност, трябва да я получите след findOneAndUpdate линия. Трябва да направите нещо подобно в края на try блокиране:
return await newQuiz.findAll();