Would bitcoin core work on a big endian system? Or even a system where C++'s `int` is not 32-bit?
It should work on big-endian systems. The serialization code for integers will byteswap on such systems. This was certainly tested at some point, but I'm not sure how recently someone has.

I don't think it will work on systems where int is different than 32-bit.