Ive not looked into that approach yet. Our next step optimisation is going to be to manually change our compile checks to check every file changed individually, rather than a full build every change, and catch the cascaded changes on a regular schedule. Best guess is this will end up reducing our ci costs by around 25%, at the cost of writing it ourselves
I can't speak for anyone else, but I help maintain a large-ish codebase that releases on all the major desktops. Compile times aren't great but they only account for around 15% of the total CI time. Cross compiling wouldn't really help us, since we need to run end to end and integration tests on actual machines.
(not an out-of-box solution, but perhaps useful in addition to what you already have, for checking basic build integrity, for example)