If I inspect the packet I see a single route without transport information. And yet the correct source port is selected ! Can you tell us how kamailio guess the source port to use in that case.
These traces demonstrate that in the loose_route() function, send_socket is NOT forced. And yet this is working. Can you tell me HOW kamailio knows that