There are many options to pull off non-linear flow.
One as you mention, is to use linking. Linking is implemented similar two how the web works with web pages linking too other web pages. You can link internally in a list Link Internally or externally to other checklists Link Externally. The link I just showed are inline links using Markdown syntax that you can inline directly in your content. You use the Advanced Editor to enter Markdown. The only requirement of linking is to put an ID (from the Advanced panel) on the List, Section or Item you want to link to e.g. internal-link.
Other item types such as Yes / No and Picker can also perform linking and there are Linking Options to do that such as Yes Link ID and No Link ID. Just like a web browser, linking does keep a history, so you can link to one checklist, that can link to another, and then you can click Go Back to follow the chain back. If you use the action goto instead of gotoAndReturn then its will jump you somewhere without putting it in history. This is useful if you have a Yes / No question and just want to skip some items but keep moving on.
Organizing your Lists (tabs) where the content in them is structured as a checklist is another option. You mention you go to A to F, come back to C, then B, then E, back to B. If each List is a self-contained checklist, then you can go through one of them, say List C, and if want to do it another time, you use RESET CURRENT LIST, and it clears the items, and you go again. The tabs allow you to easily two jump to any of them. You can also say GOTO {Listt Name} to jump…so GOTO TAKEOFF.
You mentioned wanting to do practice like touch-and-gos and approaches. The following shows how I do this…
This post shows how to use linking with Picker items. Advanced Linking in a Picker Item using Buttons
You mentioned “That means it can only send you back to one predetermined parent list, which may not be the one that sent the user to the child/subroutine list.” Using Picker Buttons, you can put multiple buttons to jump to more than one predetermined list.
You can also use Value Triggers to dynamically hide and show content. Value Triggers Information