Hi Arief,
The correct place for such a message would be the Content/Body of the response.
The reasons phrase is only a textual representation of the status code, according to:
https://stackoverflow.com/questions/38654336/is-it-good-practice-to-modify-the-reason-phrase-of-an-http-response
According to the RFC 7230, the current reference for message syntax and routing in HTTP/1.1, the reason phrase exists with the sole purpose of providing a textual description associated with the numeric status code and a client should ignore the reason phrase content. The RFC also states that the reason phrase can be empty.
Where is your app running, as in which cloud? Mendix Cloud v4 ignores your custom phrases, or most of them, and replaces them with the default ones. And returning a 404 in Cloud v4 is even weirder, try that one yourself.
What I often do is add an object to the body that contains reponse details. There I have an attribute Code duplicating the HTTP response code, and some additional attributes with a reason text, UTC timestamp of the server, etc. That helps me to overcome this cloud-changes-the-reason-phrase issue.