I have been trying to resolve this issue and working with the connman devs to do so. I am wondering if my experience is the same as yours. With recent kernels, I have had serious difficulty getting my PiZero to reconnect at reboot (power cycle). It uesd to connect at boot all teh ime with 4.19.y kernels (IIRC). I have connman and iwd managing the internet connectivity. I have a config for my SSID in /var/connman. The Zero does not have a wired ethernet connection (eth0). Once in a while I can get it to connect at boot. Mostly, nothing. If I boot it and it is not connected, I can plug in the USB ethernet adapter (not connected to anything), and the PiZero auto connects to the WiFi SSID and goes online. it is as if something it blocking from connecting until eth0 appears as a device.
Also, related but not the same issue, if once the Pis are connected and I reboot the router none of my Pis will reconnect to WiFi once the SSID reappears. This is the ZeroW, a B3, B3+ and a B4. They should reconnect once the SSID is visible.
I found that IWD is much more stable then wpa_supplicant and allows for a more consistent connection from the LAN to the RPi which is running a web server with php. The non-connect issue is as recent development. The no reconnect has been that way since I started using connman/iwd, as best I can tell.