The non-technical angle on this is underrated: cognitive load isn't just a code architecture problem, it's an ops problem too.
When a developer has to context-switch between Jira, Slack, email, and 3 internal dashboards just to understand "what am I supposed to be working on today" — that's extraneous load before they've written a single line of code.
The best teams I've seen treat cognitive load as a first-class concern at the process level, not just the codebase level. That means: ruthless async communication defaults, documented decisions (not just documented code), and protecting deep work blocks.
The abstraction layers you mention in code have an equivalent in workflow design. The goal is the same: reduce the surface area of things a person has to hold in their head at once.