Como posso vincular a um perfil de usuário pelo ID do usuário?

Uma ideia é colocar um ID externo no registro do usuário e, em seguida, você pode usar /by-external/:external_id. Outra opção é usar um webhook para notificar seu banco de dados externo caso eles alterem o nome de usuário. Outra alternativa é simplesmente desabilitar a alteração de nomes de usuário. De uma rápida olhada em discourse/config/routes.db, não vejo nenhuma rota que utilize o user_id.