Oi, Jonas.
Meus parabéns por concluir o desafio de organizando elementos únicos. É excelente ver como você aplicou a combinação estratégica de diferentes coleções para resolver um problema comum em sistemas de alto desempenho.
A sua solução tá boa e segue exatamente o fluxo lógico necessário para garantir dados limpos e ordenados. Ao utilizar o HashSet<int>, você delegou ao C# a tarefa de ignorar automaticamente valores repetidos, o que é muito mais performático do que fazer verificações manuais com if. A conversão para List<int> logo em seguida foi a escolha correta, pois permitiu o uso do método Sort() para organizar as pontuações do menor para o maior.
Pra enriquecer sua jornada no estudo de coleções, vale notar que o C# oferece uma estrutura chamada SortedSet<int>. Ela funciona como um híbrido entre as duas que você usou: ela não permite duplicatas e já mantém os elementos ordenados automaticamente no momento da inserção (Add). Usando o SortedSet, você conseguiria o mesmo resultado sem precisar converter para uma lista e chamar o Sort(). Você pode explorar mais sobre isso na documentação oficial sobre coleções genéricas no .NET.
Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!