Very good question, and I might not be answering it.
I don't (at least I don't mean to) have a different frequency in my µBITX for TX and RX; I'm not running split. So for me they should always be the same. And if I understand the theory of operation, no matter how screwed up the calibration is, the µBITX is running the same frequency whether in or out in that state.
If that's the case then:
Suppose I send out what the µBITX says is 14.074MHz + 2000Hz FT8. Let’s call this 14.076000 MHz. It could be that the transceiver actual transmitted frequency is 14.073992MHz, and the audio tone is 1996 Hz or all together 14.075988, but my system says we’re sending out 14.076000.
Suppose the contact that replies does not have “Hold TX Freq” checked and responds to the CQ. His FT8 screen might show me at 1500 Hz or 2500 Hz, but it doesn’t matter, because if his rig is using the same oscillator for TX and RX, the math will wash out all the errors and I’ll get back exactly what I sent him, a signal at 14.075988.
Since I’m getting back exactly what I sent him, if there is a difference between what I sent at 2000 Hz and what I get back, it’s the difference between my absolute TX and RX frequencies. So if the FT8 screen shows his reply at 2017 Hz, I know I that my µBITX and my SDR disagree by 17 Hz at 20M.
At least that’s the way I understand the math, and it's a very elegant way that FT8 naturally keeps all of us neat and clean and polite with the small slice of band.
Someone did a youtube showing how to use split for FT8 that takes advantage of that.
Suppose you want to use a 3000 Hz tone for FT8, but your system works better at sending out a 1000 Hz tone than a 3000 Hz tone. You’re working 20M, set your TX freq to 14.076 and use the 1000 Hz tone. To the person listening on 14.074, it sounds like a 3000 Hz tone. Of course, you listen at 14.074 so that the system hears things normally.
Explaining this stuff would be a lot easier with a whiteboard and a pot of coffee.