Great thoughts! I usually think of mental models from end user perspective on the problem domain, but of course it applies to the solution as well, combined.
While "mental model" is catchy term, it's probable just another way to say, that software is about knowledge. Knowledge about domain, typical problems and solutions.
That is, if the codebase will be lost, it's the knowledge, which is in the heads of developers, which can be used to recreate the software.
And unless the team is really aggressive with refactorings, the gain of knowledge during development is incremental and the latter additions are more mature, because the way to express the knowledge gets mature. Same directories, registries, list are getting more items, etc.
That is actually why experienced senior devs can help giving healthy start to the software project: they already know how to express the knowledge, can predict growth points in the software, typical pain points.
This also gives the criteria for good and bad frameworks. Good frameworks make it easier to concentrate on the domain knowledge and it's structure. Bad ones are opinionated on conventions, which may or may not help gathering knowledge.