I’m loving where you’re going with this…
You really don’t have to know anything about the drive method. If it consistently moves a given distance when told to move X distance… simply tell it to move some convenient amount (i.e. 100mm, 50mm, etc… the bigger the better) and then measure how far it actually moved. Then simply multiply the currently stored value for steps/mm by (commanded / actual) and use that as your new steps/mm. For example, tell it to move 100mm and it actually moved 160… if the current steps/mm is 250, multiply it by 0.625 (i.e. 100/160) and your new steps/mm becomes 156.25. Rerun the test… command 100mm move and verify it moves 100mm. Do it as many times as needed to home in on the proper value.
I describe this in this recent post and also in my R&P MPCNC thread and verify by printing/engraving accurate rulers.