It doesn't quite work like that.
To paraphrase the linked post, critical hit damage is based on stages, not on taking the higher of two damage calculations. So if a Pokemon's defensive stage (e.g., Defense +1) is greater than or equal to the attacker's offensive stage (e.g., Attack +0 or Attack +1), the critical hit is calculated as though both were at +0 and no other effects (e.g., Burn, Reflect) existed. If the Attacking Stage is higher than the Defending Stage, then nothing is ignored (including Reflect, Burns, etc). This is where things might get wonky; A +1 Burned Tyranitar, for instance, would do less with a Critical Hit than a +0 Burned Tyranitar would. Of course, in non-crit situations, the +1 Burned Ttar would still do more.
In the Skarm case, the reason nothing is ignored is because Skarm's Attack stage (+6) is higher than the other Skarm's Defense stage (+4).
Yeah, the algorithm is not intuitive at all.