It turned out @Hedda was right all along… at least in my case.
There are two version of the Sonoff Zigbee dongle.
The ZBDongle-E and the SkyConnect dongle I used both have the same chip which is newer and supposedly better, but it still has some bugs.
I switched to the older ZBDongle-P controller and everything worked great since.
That Zigbee guide he linked to was also very useful, but initially I didn’t read it as carefully as I should have done.
When they say that Zigbee is very sensitive to interference, they really mean it.
Some steps that turned out to have a significant impact on the Zigbee signal for me were:
- Use a long USB extension cable to place the Zigbee adapter away from interference and obstacles.
- Try to place the Zigbee adapter at some distance away from walls, ceilings, and floors.
- Try to place your Zigbee adapter away from Wi-Fi access points or sources of WiFi.
- Place Zigbee adapters far away from electrical/power wires/cables, power supplies, and household appliances.