SVD gives different results from Python with MWE

Having exhausted other options, you can try to reverse engineer Numpy to see if there are preprocessing the matrix somehow:

It looks like they use a subset of LAPACK processed through f2c in the lapack_lite package.