Вопрос решился.
Пока существовали записи ("просмотры") в quiz_attempts, которые появились когда пользователь был учителем, он не воспринимал другие попытки пользователя как студента, поэтому вариант с переназначением роли не сработал.
Как только старые записи о "просмотрах" из quiz_attempts были удалены, все отчёты по оценкам сразу прозрели.