Дима, привет!
В нашем случае express используется совсем мало. По сути, у нас все с ним взаимодействие ограничивается одним файлом /server/index.ts. По моей практике максимум что от него требуется, так это роутинг запросов и объекты Request и Response, то есть объект запроса из вне и объекта ответа во вне. Там уже разбор заголовков и составление заголовков. То есть сам по себе node-js из коробки не несет необходимых методов по работе с кукисами, данными форм и т.п. Это как раз и дает express-js.
С node-js одновременно все просто и не просто. Просто в том плане, что это все тот же JS, так что если ты основы JS выучил, то и в основы node-js сможешь. А сложнее в том, что в чистом виде нода мало пригодна нам для работы. Нам здесь нужны всякие библиотеки для работы с файловой системой, заголовками, базами данных и т.п. При этом есть как встроенные библиотеки самой ноды (как те же fs, path и т.п.), так и внешние, которые часто используются и считаются практически маст хэв (типа того же debug). Поэтому здесь, чтобы дать какой-то список необходимых знаний, надо дорабатывать структуру родительских-дочерних технологий, чтобы это прям боле менее наглядно было. Сейчас же могу пока только посоветовать развернуть у себя @prisma-cms/nextjs-nexus и пытаться разобраться с ним. Вот тебе примерно самооценка. Если ничего не ясно, на 1 не тянешь. Если что-то можешь поправить, то 2. Если в общих чертах понятно и даже можешь схему подправить, задеплоить в базу, пересобрать API и т.п., то троечка :) Спойлер: это довольно большой объем знаний. Но, наверно, не зря я видео записывал и топик писал? https://freecode.academy/topics/obzornoe-video-@prisma-cms/nextjs-nexus