There is always the urge to build something "the right way" where it's fully modular and extensible, but if you never need to extend something the additional layers of abstraction end up being more of a hindrance than a help.
There is a certain level of efficiency in building things the cheap and easy way by default and only rewriting the parts where it was actually a problem.
I've seen developers reduce technical debt in a way that others consider to be an increase in technical debt.
One developer can add abstractions, modularity and extensibility to a code to reduce technical debt.
Another developer can strip out unneeded abstractions, modularity and extensibility to reduce technical debt.
Often noone does
Defaults exist. You don't always have to pay financial debt, and the case you described for technical debt is one of the main cases when people don't pay financial debts either.
IMO the biggest difference is that the carrying costs of technical debt are quite random. But people say that all the time already, and it's well known that they behave more like generic liabilities instead of debts in particular.