The original was working correctly, and adding the values to the User defined properties collection of the JMS message. This is the correct place to add application headers.
<property xmlns="http://ws.apache.org/ns/synapse" name="HEADER" value="VALUE" scope="transport" type="STRING"/>
The issue was a configuration error in the 3rd party tool.