I'm just bringing up the features I want, of course, everyone will have different needs, and I might be in the minority.
But many of the premises you've mentioned are not necessarily factual. For example, the need to rewrite the entire software or that it is incompatible with older versions. These things can only be assessed after looking at the source code, and different engineers may come up with different solutions; it may not be as difficult as you say.
I think attaching other files is not as convenient, at least compared to native support, it's a suboptimal solution. But you may not agree with this idea either, and I can understand that many people may not like the same things as I do. If this is not a feature that everyone thinks is good, then there's no need to implement it.
But before confirming whether this feature can add value to the software, I don't think we need to bring in engineering difficulty to discuss. Commercial companies need to consider commercial costs, but engineering costs are not a constant number. I'm an engineer, and I've seen experts easily solve problems I feel difficult, and I've also easily solved engineering problems that others feel difficult. So there's no need to prematurely discuss technical difficulty from an outsider's perspective, as it varies greatly from person to person and situation to situation.
But I think I understand your other points. If most people don't need this feature, then it naturally may not be implemented. And I'm just suggesting what I personally think is a better way. Not only for mindmaping, having a multi-level tree structure is what I consider to be a more flexible way of organization.