> Mid sized features often mean tearing up many layers of code across the stack to add in some sort of new capability
What? No, it shouldn't. I've worked on a lot of codebases and if you have to do this, something is very, very wrong.
Nothing wrong at all. Some features you can bolt on, and some features fundamentally change how a system works requiring changes at many different levels of the stack. Happens all the time.
This likely assumes you have a mature and well designed (architected) code base. That is not always the case, and as features get added and removed, that won't be the case at all until there is a refactor.