Есть плохой код, который плохо декомпозирован, есть хороший который четко разгроничен, и то и то можно на экспресс и на нест писать, просто нест даёт уже некие термины и абстракции типовые, экспресс нет
Зачем нужно декомпозировать, чтобы твоя фича была сама по себе и не являлась частью монолита, ты ушел и пришёл новый разраб, он или поймет как добавить новую фичу или не по мет и напишет все с нуля, при этом текущий рабочий код вообще не нужно трогать, новый разраб легко войдет в проект, новый разраб не сломает сайт