Note though that we build either 32-bit or 64-bit builds on the same 64-bit host.
That is not cross-compiling in the strict sense needed here. You can normally run X86 binaries on a multi-arch X86_64 OS / host. But for the Arm64 build on X86_64, you probably need to build the X86_64 build toolset (gengal, idlc, etc.) and use these to generate all the needed build artifacts (galleries, UNO headers, etc). So “real” cross-compiling is normally a two-step process: build native compiling tools and build the non-native, cross compiled product.
But eventually this is not needed here, as Cygwin is already the emulated 32bit X86 environment. No idea, how this interacts.
Thinking about all this: it’s probably better to cross-compile the Arm64 build on X86_64, just for performance reasons (native make + raw computing power), and copy instdir to the Arm64 machine (or run an emulator) for tests / debugging. That looks like an interesting engineering task.