Isso é bom o suficiente para algo como uma rifa ou escolher um vencedor?+−
Para justiça cotidiana (uma rifa entre amigos, decidir quem começa, embaralhar uma lista pequena) sim - usa o gerador aleatório criptográfico do seu navegador (crypto.getRandomValues), a mesma fonte usada para chaves de criptografia, então nenhum resultado anterior entrega o próximo. Para qualquer coisa com dinheiro real ou implicações legais, use um serviço de números aleatórios dedicado e auditado.
O que acontece se eu pedir mais números únicos do que existem no intervalo?+−
A quantidade é limitada ao tamanho do intervalo - por exemplo, pedir 20 números não repetidos entre 1 e 5 dá os 5, já que não há 20 números diferentes para fornecer.
O cara ou coroa aqui é realmente 50/50?+−
Sim - cada lançamento é um sorteio independente com igual chance para cada resultado, assim como cada lançamento de dado ou sorteio de número é independente dos demais.