Acho que os IDs de usuário estão na tabela incoming_links. Esses registros não são destruídos de forma dependente, e a consulta do emblema de compartilhamento apenas protege contra o user_id ser nulo na tabela incoming_links:
https://github.com/discourse/discourse/blob/main/lib/badge_queries.rb#L199
O emblema First Share deve ter um bug semelhante:
https://github.com/discourse/discourse/blob/main/lib/badge_queries.rb#L64