Let me provide some more info that should make it clearer.
The end node knows for how long the RX on the gateway will be listening for uplink messages during a particular frame. Based on the length of the payload the end node is sending and the SF, this uplink receive period gets divided into timeslots. The maximum number of timeslots will be available when the end node is sending SF 7 messages, and conversely the minimum at SF 10. So from the end node's perspective, the timeslots are dynamic periods. So in a sense you are correct, but the timeslot window size does change.
When the message gets fragmented, a single timeslot can fit two fragments for SF 7-9 (even though the timeslot window is getting larger with higher SF) and only a single fragment for SF 10 - hence 2x timeslots for SF 10 uplink.
The gateway doesn't know anything about the timeslots, since the RX is open and running for the entire uplink RX period.