Hi noobes,
Your hypotheses are mostly correct. Let me add some details.
NCM handles the storage of downloaded configs automatically. You don't have to worry about that. Create a new config type, download the config and you'll see the exact structure yourself.
You should look at the device template not as a script but rather a repository of commands. NCM business logic needs different commands at different stages and the device template tells it what the command for a particular device looks like.
That's why the order of the commands generally doesn't matter; there are some exeptions though. (E.g. the order of Pre-commands does matter.)
You have to enter all the contexts/config types manually in the template; your assumption is correct. A natural feature request is to download (if not discover) all the contexts at once.
Regards,
Jiri