I have it defined as a promoted property in the Envelope so it gets put into the message context. Then, I demote it in the outbound schema. You can demote to any field you want, you just set it in the schema.
I you use the Pass Through pipeline on the send side, you will not see the values demoted.
Something else to note, if you do not have the promoted items in your Envelope Schema they will not get promoted. So if they were defined in a schema that was used into the <any> tag it wouldn’t work. Hope that makes sense.
Also remember when working with envelopes you define the Body XPath one level above what you want to break out.
Hope this helps.