SF and required SNR not matching

Did you enable ADR on the device, and does it send an ADRAckReq after 64 uplinks? If you can capture a full LoRaWAN packet from the gateway then you can easily check if an online decoder shows that FCtrl.ADR is set.

As for learning more: did you read the ADR documentation?