Tienes la idea correcta, pero en el último paso de la agregación, lo que quieres hacer es agrupar todos los puntajes por estudiante y encontrar el valor mínimo de $.
Cambie la última operación de canalización a:
{ $group: {
_id: "$_id",
minScore: {$min: "$scores.score"}
}}