Thank you for your answer! Yes, I have read the docs but, as far as I can see (at least concerning the packages) there is only an explanation to contradictionary substitutions values:
Substitutions in your main config will override substitutions with the same name in a package.
Concerning the other yaml-parts:
Dictionaries are merged key-by-key. Lists of components are merged by component ID if specified. Other lists are merged by concatenation. All other config values are replaced with the later value.