pkgsBuildBuild for pkgsCross is not same as platform

I am attempting to fix Luajit cross-compilation for armv7l, and I need gcc_multi to get it running. I hit some sort of weird issue with pkgsCross and its pkgsBuildBuild. In short when I do nix build nixpkgs#gcc_multi then it compiles, while when I do nix build nixpkgs#pkgsCross.armv7l-hf-multiplatform.pkgsBuildBuild.gcc_multi it fails with:

       > configure: error: in `/build/build/x86_64-unknown-linux-gnu/32/libgcc':
       > configure: error: C preprocessor "/lib/cpp" fails sanity check

When I try to use nix develop and build it then, it passes in both cases. Do you know how to access config.log?

Anyway, the primary issue I see here is that I thought that legacyPackages.x86_64-linux.pkgsCross.foo.pkgsBuildBuild should be the same as legacyPackages.x86-64-linux because both build, host, and target platforms are the same, but it produces a different DRV and especially a different build environment. Does anyone have an explanation for this? I really confuse me.