Vamos repassar algumas coisas.
Autoincremento não é necessariamente um inteiro em alguns bancos de dados, inclusive pode ser usado uma fórmula própria, mas ok, entendi que quis limitar o escopo, até porque existe muito mais que 4 opções para chave primária única, por exemplo sequencial + Mac Address ou outras variações, até mesmo com identificadores mais curtos de qual máquina é, só para ficar em um que é relativamente popular (dê uma pesquisada nos ????flakes e outros com 64 bits em sequência e distribuído).
O tipo dos UIs não aleatório, é string ou numérico (considera-se bytes). A aleatoriedade não é o tipo.
A garantia de ser única do mundo não é absolutamente garantida, porém a chance de pegar duas iguais beira o impossível, podemos considerar garantida na prática.
Pode ver um pouco mais sobre o UUID, embora já esteja defasado o que tem lá continua válido.
Fácil de prever é uma característica boa e não ruim. As pessoas que acham que é ruim é porque acham que estão dando segurança, mas quem pensa assim vai acabar fazendo softwares inseguros.
É necessário um certo cuidado com UUIDv7, embora raro ele pode não dar o resultado que a pessoa espera, er por ser raro fica difícil perceber o problema (pequeno, reforço).
As pessoas tendem a dar mais importância para IDs distribuídos do que deveria. Tem casos para uso, mas em boa parte dos casos centralizar a obtenção do ID é o mais simples, eficiente e que dá menos problemas. Não faça overengineering.
S2
Farei algo que muitos pedem para aprender a programar corretamente, gratuitamente (não vendo nada, é retribuição na minha aposentadoria) (links aqui no perfil também).
Essa questão de como definir o ID sempre me deixa confuso com essas recomendações genéricas.
Entendo que escolher uma opção que não seja fácil de prever pode ser boa, como um usuário do sistema, uma transação, uma nota fiscal, por exemplo. Agora, para diversas outras informações que não precisam trafegar via URL (aliás, dados sensíveis deveriam trafegar pela URL????), o incremental não funciona muito bem?