Very cool. My own keymaps for key converters are all hugely long code-generated switch statements sourced from a DSL, but I definitely first reached for a C macro until I started to make mistakes (double-mapping keys, not mapping others, etc). A Rust macro feels like it could be the perfect in-betweener.
Thanks for detailing your process. I have a number of QMK powered keyboards and it has been on my todo list for a long time to try exactly what you did. Ultimately it would be great to have an all Rust firmware. There are a couple of projects that have done that but I’m yet to try them.