Changing the spread factor

The node will start at a high high SF, as the join takes place the and in subsequent interaction between the node and the network server, the server will set via MAC-commands the SF, optimizing the network.

Depends on which library it is using but overall, yes, they start at DR0. But if you know you are deploying in an area with good coverage, you can dial it back from the start. The better libraries will try a number of strategies to join as per the LA recommendations.

See:

https://www.thethingsindustries.com/docs/reference/adr/
https://www.thethingsindustries.com/docs/devices/best-practices/#use-adr-for-stationary-devices

There is a lot to learn but almost all of it is in the documentation if you care to cast your eyes over the headings.

Best to memorise that the gateway is a media access convertor - electromagnetic radiation to TCP packets - the only ‘intelligence’ it has is to do CRC checks and, if configured to do so, not bother passing on uplinks that fail the check. There is no decision making or autonomy in a gateway and above all, a device does not connect to a gateway - a device broadcasts and any & all antenna’s that are vaguely or explicitly tuned to the transmission frequency within range will pick up the signal.