Wwan occassionally not working after boot

I’m using an LTE hat with a Telit module and a Vodafone card on an RPi 4 with buster. I’ve set everything up with libqmi, according to this tutorial: Setting up a data connection over QMI interface using libqmi.
Generally, everything works fine. However, every 5 or 6 boots, the wwan interface will not come up. I can still bring it up with sudo ifconfig wwan0 up, but but it won’t be able to get an IPv4 address. A call to udhcpc constantly runs into timeouts until manually killed.

pi@drone-pi:~ $ sudo udhcpc -q -f -i wwan0
udhcpc: started, v1.30.1
No resolv.conf for interface wwan0.udhcpc
udhcpc: sending discover
udhcpc: sending discover
udhcpc: sending discover

The SIM properties in case of an errorneous boot are:

pi@drone-pi:~ $ atcom AT+CGREG?
+CGREG: 0,1


pi@drone-pi:~ $ atcom AT+CREG?
+CREG: 0,1


pi@drone-pi:~ $ atcom AT+CPIN?


pi@drone-pi:~ $ atcom at+csq
+CSQ: 21,4


It may be worth noting that the RPi usually does not receive a graceful shutdown.

So far, the only thing that seems to help is restarting the whole network with sudo /etc/init.d/networking restart. But since this system will be operating autonomously, user input is not an option.
Of course I could build a watchdog that issues the above command when needed, but maybe there is a better solution. I’m actually suspecting a race condition where the hat may not be fully started when the network boots.