Ok, I think I have this one figured out. The home screen seems to be hanging because it is waiting on the ofono service somehow.
I logged into the phone while the home screen wouldn’t show and I noticed the ofono service was in the failed state. When I started it with systemctl start ofono, the home screen appeared as well. This also gave me cellular connectivity with the new SIM card.
The ofono service would die quite quickly again though. This bug seems to be a variant of those described here:
Deleting a bunch of failed received MMS message seems to have helped for me to make ofono (mostly) stable again. I still need to manually start the service after boot but then it stays stable. Good enough, I guess!
Anyway, to prevent the home screen from hanging after a failed start by ofono, I modified the SystemD unit with systemctl edit ofono to contain the following:
[Service]
RestartSec=20
The original value is just 3 seconds and since SystemD tries to restart a service 5 times if it’s failig, it means that if the home screen hasn’t tried to start within 15 seconds, it will hang. This way, there is a short-lived moment where ofono is running, allowing the home screen to properly start.