I think the plugin you mentioned does something like pane splitting: obsidian-mind-map/main.ts at 48c73460c82d3ca58131bedf26fcfea74c007487 · lynchjames/obsidian-mind-map · GitHub
I haven’t tried the plugin and I came to this topic because I wanted to learn creating new panes, too.
You can also check some leaf related methods in this.app.workspace: obsidian-api/obsidian.d.ts at 763a243b4ec295c9c460560e9b227c8f18d8199b · obsidianmd/obsidian-api · GitHub
(leaf = pane. Obsidian API seems to use the term leaf instead of pane.)
For example this.app.workspace.createLeafInParent() seems interesting.
Sorry, I can’t give more detailed answers, as I’m still learning this stuff myself.