Просто он не в node_modules/react лежит, а в node_modules/@types/react.
Смысл в том, что декларационные файлы (.d.ts) могет лежать практически где угодно, и совсем не обязаны иметь прямого отношения к реальным js-файлам. Они просто объявляют типы. А так как много компонтентов написаны не на ts, а на js (в том числе react), то когда мы ставим эти зависимости, ts ничего не знает о их типах. Вот для решения этих проблем есть проект DefinitelyTyped. В нем дописывают типы для многих популярных компонентов, написанных не на ts, в том числе и для react. Потом эти компоненты выливаются в npm и имеют префикс @types. К примеру вот @types/react.
В проект эти зависимости добавляются как devDependencies и нужны только для процесса разработки. В нашем package.json ты тоже найдешь их.