The node can do RX only on a specific datarate - it’s current TX datarate + offset. The NS can’t just change it when it feels like it. It has to send some configuration mac packet at the old datarate fist.
Correct.
If that is impossible, due to signal strength, it must wait for the node to increase it’s TX power first.
That won’t help - what you need is better RX sensitivity on node.
What you are seeing is quite ussual. Gateway is receiving data from node without problems, received signal is good enough for the server to try to lower node’s TX power (see table in this post for reference: Limit uplink Tx Power - #6 by brocaar).
But the device has significantly lower RX sensitivity than gateway, so the device may not be able to receive the downlink with same settings. Setting RX1 offset should help.
You can also try forcing the RX2 window for downlinks which can use higher power and uses lower DR in EU868, but it also works on one specific channel, so the radio band usage is less optimal and you could reach duty cycle limits pretty quickly.
I worth noting that there may be other reasons for why you can’t receive the downlink.