CMake 3.18 added profiler output that might lend clues to the differences.
cmake -B build --profiling-output=perf.json --profiling-format=google-trace
then type in Chrome or Edge address bar about:tracing
and Load perf.json.
In general across programming languages it seems one possible difference is the longer time it can take Windows to launch processes. So for example configure steps that invoke the compiler to test symbols or features can cumulatively consume more time on Windows.