Thoughts up to this point:
Use QMK instead of TMK. TMK is very nice and I am glad Hasu made it but he has been very clear that he only wants to support boards that he owns and can test himself. QMK is more open to custom boards and accepting keymaps outside of the Planck and Ergodox.
QMK actually already has a really nice script to create the folder/files for a new board. Unfortunately, this script is only for one-piece "traditional" boards. It won't work with a split board without some custom code. This is the part where I hope the community could work toward some "standards". (thank you for starting this thread!)
matt3o's guide is, indeed, a very good start. Especially to help understand things by getting directly into the code. Most of it is handled by QMK's set up script, though.
The comments below are assuming a layout loosely based on the Ergodox. So, Teensy on right hand board and IO Expander on left hand board.
The QMK script actually gets us off to a good start for the Teensy side. If you specify the correct pins, you can register keypresses very quickly.
The difficult part is with the left hand Expander side. I've had a couple of experienced keyboard builders say that the Ergodox code is really weird and I can confirm. So, it's not a simple matter of just ripping the code from that. The Ergodox config files have some oddities like transposing the rows and columnn in its matrix.
I am not certain, but I think this is because most "regular" keyboards scan row-by-row, top to bottom. The Ergodox seems to scan column-by-column. This is only a guess, but I assume this is so the rows don't have to be read across the split (half the row read by Expander -- half the row read by Teensy -- easier to just scan in column, left to right). Does that make sense?
Unfortunately, this makes the job of making these script generated files to be generic much more difficult. The way that the IO Expander and Teensy communicate still isn't clear to me. I'm sure it's straightforward but it's a lot to learn at one time. I've made progress with various versions of my QMK fork but, like I said, I've had to scale back the time I spend on it the last couple of months.
I hope this input is within the spirit of what you wanted for this thread?