What is your actual requirement for this?
I looked at the RFH2 header information you provided in your original post, and it all comes from MQ's JMS layer. For example:
> <Entry key="Msd">jms_text</Entry>
This is set by sending a JMS Text message
> <Entry key="Dst">VALUE</Entry>
This is the name of the destination queue
> <Entry key="Tms">1506563444022</Entry>
This is the timestamp at which the JMS message was sent
> <Entry key="Exp">1506563504022</Entry>
This is the expiration timestamp of the JMS Message
> <Entry key="Dlv">2</Entry>
This is the JMS Delivery Mode, set to 'Persistent' (2)
Just using JMS Mode will set all of these. I don't see anything in there that requires Native Mode and direct access to the RFH2 header.
As for the MQMD headers above those: You have access to the correlation ID through the JMS Correlation ID, and the rest through JMS custom properties. If you use the JMS Send Receive step to receive a message and then view it on the 'Response' tab, then you can see the MQMD headers under 'Custom Properties'.
The only things you can't explicitly set through JMS mode are the Message ID and the send Timestamp. Those are always set by the JMS Provider or, in this case, the JMS layer on top of MQ.
The application sending that message is clearly a JMS application. You should be using the same protocol to interact with it.