I was cutting on my ShapeOKO 2 last weekend and having major issues with missing steps on the Z. During fast retracts the Z would just hum resulting in passes where the tool wouldn’t clear the work resulting in more or less catastrophic failure. Either the work piece was damaged or the bit from trying to be forced through way more material it should be before I hit the e-stop. After some research I came to the conclusion that the stepping was the culprit. The steppers are configured correctly, wired correctly and moving as freely as possible but the controller would step at a rate that was causing issues on the Z.
After a little research I found that there was an update to GRBL version 0.9G that in addition to having a better acceleration planner the maximum feed rates could be configured per-axis. This is a pretty big deal because in 0.8C all the axis are limited by your slowest axis – which is the Z. Because of this cutting speeds are severely limited on the axis that one spends most of the time cutting on.