I wonder if the order in which combining diacritic marks appear after a codepoint changes the way how the diacritics should be stacked above or below the character; or if there is another semantic difference.
Does normalization specify some way to reorder diacritics, e. g. to speed up String comparison?
According to this Wikipedia article the order of combining characters is relevant in some cases and should be normalized as specified in other cases.
Concretely the order of combining characters with the same combining class must be preserved (i.e. it is relevant), while the groups of characters must be sorted by their combining class.