Short answer
It's redundant. It duplicates the information available in the HTTP status code itself, thereby bringing the possibility of disagreement between the two.
If included in the response payload, the status code should be only advisory and must be the same status code in the actual HTTP response.
Long answer
When returning problem details for a HTTP API, you may want to have a look at the RFC 7807:
This document defines a "problem detail" as a way to carry machine-readable details of errors in a HTTP response to avoid the need to define new error response formats for HTTP APIs.
According to such document, besides other elements, the problem details object can contain the HTTP status code:
status (number): The HTTP status code generated by the origin server for this occurrence of the problem.
The RFC also states the following:
The status member, if present, is only advisory; it conveys the HTTP status code used for the convenience of the consumer. Generators MUST use the same status code in the actual HTTP response, to assure that generic HTTP software that does not understand this format still behaves correctly.
The status member duplicates the information available in the HTTP status code itself, thereby bringing the possibility of disagreement between the two. Their relative precedence is not clear, since a disagreement might indicate that (for example) an intermediary has modified the HTTP status code in transit (e.g., by a proxy or cache).