Muito obrigado pelo feedback!
Esse 'E-mail Opcional' na verdade era um bug visual que eu deixei passar (perdão por isso). O Supabase exige o e-mail para criar a chave de login, mas eu tinha deixado o label como 'opcional' no front porque desativei a confirmação de e-mail (para reduzir a fricção).
Resultado: O usuário achava que podia deixar em branco, mas tomava um Erro 400.
Já corrigi agora! O e-mail é obrigatório para servir de Login, mas continua sem precisar confirmar na caixa de entrada, o e-mail pode ser um fictício mesmo (acesso imediato).
Essa sua ideia do Login via Username é muito boa (agradeço o conselho), vou colocá-la no roadmap para a V2. Obrigado!