This isn't an operations order thing.
But I think this is what'll be helpful for you:
The numbers in Spine doesn't actually correspond to discrete frames like Flash or AfterEffects. I can understand how it can be misleading (also since the keys kinda look and snap like Flash keys which does have actual frames.)
In Spine, they just correspond to 1/30th of seconds. Everything between the numbers will still be frames played in animations in-game and in-editor, especially when your game runs at a full 60fps or higher. Even if it runs at lower frame rates, it'll still have a chance to show, because Spine doesn't deal with discrete frames.
There's an INTERPOLATION CURVE TYPE called "stepped". You can see it in the GRAPH PANEL (expand it with the button on the right side of the dopesheet). If you set the curve type between those two scale keys— at frame 4 and 5— to STEPPED, it should solve the problem of keys interpolating between single "frames". A Stepped Curve will remove the interpolation between two keys, which will cause the bone to jump to its new value when the 2nd key hits.
(A 60fps setting would also be helpful if you still want interpolation but don't want weird artifacts like this, but I don't think that's what you're looking for with the door. It's hard to imagine your other example but I hope the stepped setting is what you needed.)
If you want us to confirm for sure, maybe you can upload some animated gifs of your animation or something— and make sure the animation is exported at 60fps.