Oh a whim, I closed KmotionCNC and restarted it. I did not power cycle Kflop or the PC. Re-zeroed the axes for the job and ran the same G code again. This time, it works fine with the tool offsets.
So something is getting KmotionCNC into a mode where it ignores the offsets. Any ideas?