Acho que um dos maiores problemas dos UUID são os tamanhos de 128 bits, que simplificando muito faz o processador "dar dois ciclos" para interpretar o número por completo. Além de usar como chave um número imenso difícil de memorizar, e que deve espalhar por toda a base de dados através das chaves estrangeiras.
Como muitos deves trabalham apoiados em ORMs, provavelmente problemas de legibilidade ficam maquiados, e só se tornam um problema mesmo quando é necessário fazer uma investigação nos dados.
Uma outra alternativa para IDs desse tipo é o SnowFlake ID, que gera IDs de 64 bits ordenáveis. Possui vantagens e desvantagens em relação aos UUID.
De qualquer forma, se a geração de IDs é centralizada, então quase sempre a melhor alternativa são os auto increment, rápidos, leves e atômicos. E se quiser criar um ID público para não expor o ID do registro, é só gerar uma coluna com UUIDv7 com índice com um nome como public_id, dessa forma os relacionamentos entre as tabelas usarão chaves inteiras simples e o mundo externo verá UUID.