This behavior is caused by the proxy server that is serving the Mendix Cloud. Your application runs fine locally and you see the exact response code and reason phrase that your application has given it.
But when running it in the Mendix cloud, then, on the way back from the application in the cloud to your browser, the error message gets picked up by the proxy-server and transformed back to the standard error message belonging to the statuscode.
This is a pretty old bug so Mendix probably has a reason to not solve. I don’t expect this to change shortly. We are running into this issue at our project as well. Our standards for http-responses can therefor not be used and we are contamplating on how to move forward.