Why DFT_REAL_OUTPUT is different from the real part of complex result

I’m not sure exactly what you are trying to achieve but the docs specify, that the source matrix for your C2R should be the result of R2C

  • DFT_REAL_OUTPUT specifies the output as real. The source matrix is the result of
    real-complex transform, so the destination matrix must be real.

Have you looked at the C2C

and R2C then C2R

test cases?