I have a question, mostly regarding design in DSC ConfigurationData.
If you have configuration which you want to be present on any node, there are two options (which I'm aware of).
Either you could specify a node, in AllNodes with the special notion '*' as the NodeName, and in that block specify the configuration, which should be accessible from all nodes in the configuration. Like this:
Out of the box (and that's important), you're right, those are the 2 most common places to store data generic to multiple nodes.
I'd say the rule of thumbs is that '*' is for data generic to absolutely ALL Nodes (i.e. a domain name in a single domain environment), and the 'NonNodeData' (that you can call the way you want) is for grouping data under a named key. So you guessed it, it depends...