I was looking for a more authoritative answer possibly containing references to official documentation so I did some more research and this is the best I could find:
In the referenced document there are two patterns described:
Message ID Pattern
- The client sets a reply-to address in the request and sends it to the server.
- The server copies the message ID of the request, sets this as the correlation ID of the reply and sends the reply to the reply-to address of the request.
Correlation ID Pattern
- The client sets a correlation ID in the request and sends it to the server.
- The server copies the preset correlation ID of the request as the correlation ID of the reply and sends the reply to a predefined queue.
The following image gave me the idea to implement the message ID pattern and implement the router as a proxy:
So in short, I have gone with my initial idea.
Source: http://docs.oracle.com/cd/E13171_01/alsb/docs25/interopjms/MsgIDPatternforJMS.html