Je pense que votre valeur de retour finalQuizs est rempli avant le forEach déclaration. Ainsi, les requêtes de mise à jour ne le modifient pas comme prévu. C'est la raison pour laquelle les données sont mises à jour après l'actualisation de la page.
Si vous vous attendez à avoir user_participated: true dans la valeur renvoyée, vous devriez l'obtenir après findOneAndUpdate line.Vous devriez faire quelque chose comme ça à la fin de try bloquer :
return await newQuiz.findAll();