Your approach looks similar to what I do. To test give yourself a little more clearance to the actual machine limits, then slow the jogging way down to test.
I freely admit to jogging full throttle into soft limits set at zero without problems, the axis smoothly decelerates to stop at 0.000 However, all my limit switches are on adjustable devices that are far from the actual machine end of travel.
Remember, soft limits only effect jogging, not running code and soft limits have to be enabled soft limits override disabled and the axis all referenced. I have found states where the soft limits button is green but the machine has lost reference. I thinks its something with the way I have my motor error signal setup.