What is the correct syntax for .case.ss01 or .ss01.case for Case Punctuation?
That depends on the feature order. Order the suffixes as the features.
Makes sense. Didn’t think of that
So if “case” feature is before “ss01” feature, then it is .case.ss01 if the other way around .ss01.case?
By what definition of “feature order” ?
As far as I know the OpenType specification defines no feature order other than alphabetical by tag (used in the FeatureList table) and different shaping engines have different conventions for feature execution such that in some cases (notably Microsoft and Harfbuzz) there is a defined order but in others cases (e.g., Adobe, iirc) execution depends purely on lookup order (as per the OpenType spec).
The ordering of features in Font Info > Features.
For some script (mostly Indic), there is a defined feature order. For all other, the lookups are applied by there order in the file. makeOTF makes lookups as they are appearing in the .fea file. So the lookups that are made for a certain features that comes before another, will be applied first. So the order of the features will determine the order in which the are applied.