Spring Integration is designed to interact with many different protocols, RabbitMQ, JMS, HTTP, etc. The canonical message is a spring-messaging Message<?>.
In order to avoid conflicts with header names, by convention, it maps standard properties to/from Spring Messaging headers by prefixing the header name with something that represents the source/target protocol (in this case _amqp).
Since the same mapping is applied on outbound, this is transparent.
With versions prior to 4.3, custom headers were not mapped by default, but you can configure Spring Integration to do so. See the documentation about header mapping [1]. 4.3 now maps all headers by default.
You can also provide your own header mapper if you don't like the default behavior.
Can you describe exactly what issue this is causing for you?
Since this is really a Spring Integration question, not a rabbitmq question, the correct place for such questions is Stack Overflow with the spring-integration tag.