@Macgyver, I also have a hard time keeping the offset meanings (both probes and tools) correct in my brain. As such, I'm not willing to try to turn the contents of my brain into sentences at the risk of getting it backwards and making it harder for you! That said, I have a macro that probes a fixed point with each of my 2 idex nozzles and updates the tool offset based on the results of probing. Here is the macro on the off chance that it helps you visualize the offsets:
if ! exists(tools[1])
abort "idex-calibration failed, no second tool"
if global.probe_block_middle == null || global.probe_block_diameter == null
abort "idex-calibration failed, no probe block defined"
T0
M98 P"/sys/wipe-for-probing.g"
M98 P"/sys/probe-block.g"
var p0 = global.last_probe_result
var needs_calibration = true
while var.needs_calibration && iterations < 3
T1
M98 P"/sys/wipe-for-probing.g"
M98 P"/sys/probe-block.g"
var p1 = global.last_probe_result
var d_u = var.p0[0] - var.p1[0]
var d_y = var.p0[1] - var.p1[1]
var d_z = var.p0[2] - var.p1[2]
if abs(var.d_u) < 0.1 && abs(var.d_y) < 0.1
set var.needs_calibration = false
echo "Current offets:", tools[1].offsets[3], ",", tools[1].offsets[1], ",", tools[1].offsets[2]
echo "Correction:", var.d_u, ",", var.d_y, ",", var.d_z
G10 P1 U{tools[1].offsets[3] + var.d_u} Y{tools[1].offsets[1] + var.d_y} Z{tools[1].offsets[2] + var.d_z}
echo "New offets:", tools[1].offsets[3], ",", tools[1].offsets[1], ",", tools[1].offsets[2]
FYI, var.p0 is the (x,y,z) position of the fixed point as probed by T0 and var.p1 is the (x,y,z) position of the same fixed point as probed by T1 and it computes the delta between the two points as p0 - p1 and then sets the tool offsets as old_offset + delta