E
If i read the code correctly ( https://github.com/pycom/pycom-micropython-sigfox/blob/master/esp32/mods/modlora.c : 1737 )
Pycom Software try to send joinrequest until timeout is expired.
A joinRequest is TXtime, 5 secondes,RX1, 1secondes time wait,RX2
With small DR5(SF7) TXtime is less than 100ms but at DR0 (SF12) it long 1.4 secondes.
When i read the software i see that OVER_THE_AIR_ACTIVATION_DUTYCYCLE is set to 10s so the lorawan stack try to send a join request after every 10s (with small SF we found the nearly (10+5)s but for SF12 it will be more than that (aprox 16.5s). BUT when maximum time on air is reached (as join is done only on 3 frequency in EU868) the lorawan stack will delay the tx. (max time on air is 1% in on band so 36 sec tx time on air by hours) and time grows to 1 hours after 108 try.
As pycom use Semtec original stack it's use have a 48 try pattern
7 DR5 then DR4 7 DR5 then DR3 and so on last try is done with SF12.
With a 768 (basically 48*16) secondes timeout you will be sure that all joinrequest is tryied without succes, so your device is unable to communicate (no network coverage).