Jag tror att ditt returvärde finalQuizs är ifyllt före forEach påstående. Så uppdateringsfrågorna ändrar det inte som du förväntar dig. Detta är anledningen till att du får uppdaterad data efter att sidan har uppdaterats.
Om du förväntar dig att ha user_participated: true i det returnerade värdet bör du få det efter findOneAndUpdate linje. Du bör göra något liknande i slutet av try blockera:
return await newQuiz.findAll();