Confirmation would require not only that the gateway actually transmitted correctly, but that the node received, and then that the node firmware transmitted a confirmation reply, and then that this reply was received at the gateway.
Try to simplify and use serial debug output from the node to see if it actually received the message.
If not, watch the gateway’s packet forwarder log and see if it actually transmitted.
Also the “confirmed” traffic in LoRaWAN is not very well designed, you are probably better off doing your own application-level confirmation messages, which means all of being able to chose your own retry strategy, being able to decide when a fresher payload is better than re-using a stale one, and also has the added benefit that this is a true end-to-end confirmation between your node firmware and your specific backend data system.