Ok so i cracked open the touchoff UI and understand why it goes wrong but I have a hard time wrapping my head around how to properly fix it.
In the TouchOff UI when using FindZ it probes and then sets the fixture offset. setting the offset is done using a helper function called SetFixOffset(Axis, Direction).
If i have tool to probe with using a circuitboard blank as touchoff plate this will not work if i use tool offsets because SetFixOffset(Axis, Direction) uses mc.mcAxisGetProbePos to determine the Z offset. The definition of mc.mcAxisGetProbePos is composed of Machine pos + Work offset (in my case an old value i want to update) G92 (which is irrellevant here ) head shift and workshift.
To me MachineCoordinates are current offset from home switches,
Work Offset is the position in MachineCoordinates a ncprogram should use as origin when spindle is centered over the Work Offset origin and gaugeline touches the Work Offset Z0,
Tool length offset is the length of a tool measured from the gaugeline as a negative value
Having the above definitions how should i set the work piece?