It sounds like you have a few more steps in there than you really need.
For me, it's as simple as start machine and jog over near the SW corner of the work, do the xyz probe touchoffs, and then run the program.
Also, for the toolchanges, you'll need to edit your gcode to replace the M6 commands with a custom toolchange subroutine. That is unless you want to remap the M6 command, which is rather involved, and IMO overkill for basic home router jobs that likely won't have more that a couple tool changes throughout a job.
Anyway, I just finished my setup with all this custom probing, toolchanges, etc.
It's basically a mixture of O-subroutines, some Mcodes for dialog boxes, and halui stuff for integrating with AXIS and the probe pin.
I'd be happy to share my scripts if you want. But be forewarned, trying to figure out all this stuff before you have a fully working machine, is likely to give you headaches. (trust me, I'm an expert in getting ahead of myself)