Why do you use ADR?, LoRaWAN specification reads:
17 Mobile end-devices should use their fixed default data rate as data rate management is not
18 practical when the moving end-device causes fast changes in the radio environment.
Wouldn't it be better than to fix the spread factor?