How about Micro-HDMI? 19 contacts to play with, and I've found SMT sockets as small as 6.5mm x 7.5mm, which should fit through a 12mm diameter hole (limit ~10mm diameter).
Holy cow, that's about as large as a regular micro USB. So yeah, that would absolutely work, granted the pitch isn't too low for my PCB assembler/manufacturer.
The maximum current for each pin is 50mA, which is exactly the maximum sink/source current of the I/O ports of my mC. I guess I'd have to use multiple pins for ground and power, but apart from that, this seems like a pretty good solution.
Now the question is whether I can find a manufacturer for custom cable harnesses that is willing to do such a delicate job. Now I'm even contemplating using a micro HDMI connector for the 16mm switch, but I'm not so sure about that. On one hand, it will give the user more freedom where to put the button because there's only one side where cables come out, and they could even use
LP ribbon cables in very cramped situations, but on the other hand this makes the whole thing less easy to customise.
Maybe I could just put a bog-standard micro HDMI cable between the button and a dongle that has the necessary outputs (i.e. USB pin header, LED pin header, Button pin header). That way, you could get stock cables to position the dongle wherever it fits, and you can also get stock cables for all the connections between the mainboard and the dongle. Looking at the cables you can get, the dongle would need full-size HDMI, but that wouldn't be a huge problem. And those who want it really clean could get one of those cables, splice it open and solder/crimp the necessary connectors onto it. That way everyone is happy. Those who want to mod, and those who don't.
Thanks for the awesome suggestion!