My thought is to use separate notes for each. Then link to the parent in a dedicated field of the frontmatter (which will be nicely formatted as a link if you’re on 1.4). In each location that might have sub-locations, use a dataview query to list all of its immediate children. There might even be a way with dataviewjs to list all of the people in a given region by traversing the “tree” of successive links.
With some industry software, the proprietary stuff really is better. There are plenty of great FOSS tools out there, but not always the exact thing you need. For example, PDF software: I don’t know of any editor as powerful as Acrobat. And I absolutely hate Acrobat, but it’s the best tool out there for modifying a PDF.