When executing a POST command that returns an object, the JSON displayed in the terminal/console is the deserialized object converted to string and not the RAW Json string received.
You can test this easy returning a date, the date string format is localized and not the ISO format returned in the Json string. This may also affect other returned values as they would be shown in a deserialized format.
Using --response:body works as expected: the resulting file contents is the Json string recevied.