It’s interesting that they send the answer in the payload instead of using the FOpts field.
Since the application is allowed to send packets using port 0 it may make sense to also forward port 0 packets to it?
It is an uplink from the end-device, same as an empty uplink packet is forwarded to the application.
The application can easily filter packets on the “port” field.