I am reading up on that topic for a few weeks now and the only conclusion I have so far is: There is nothing that works perfect and you need to check for each device if it works with your setup.
So I am asking about your experience so far, what you use, if you plan to change your setup (for what reason?) or what you would do different. Or do you use multiple gateways / protocols at the same time?
I run HA in Docker for a few things, but I have nothing connected yet via one of the protocols mentioned above.
Yesterday I came across SkyConnect and thought I found the holy grail of dongles. Zigbee? Check. Zigbee2MQTT? Check. Matter? Check. But then looking at the details... Zigbee2MQTT is experimental and in a few review (although none was younger than 9 months) people report that it works unreliable. Matter support also is not there yet it seems. And to add insult to insury it seems that it officially does not work with a Dockerized HA setup.
So whenever I think I found "my" solution, there is something that does not seem to work, is unreliable or not compatible with all devices. I even ran across reports that said if a device Support Zigbee or MQTT it might still not work with your particular setup because... well... not everything that has a specific protocol stamped on the package seem to work in the same way.
So I feel like running in circles. I wanted to start with a few simple things like Temperature / Humidity sensors and Door sensors like for example the ones from Aqara. But if I throw money at someone my highest priority is reliability. So I want to go a route that (at this moment) is the most stable, reliable and future proof in your opinion.
So I am very curious about your setups and the experience you made with it :-)
I'm running a Debian Bookworm on a Zotac Tiny PC, plus Docker and Mosquitto with HomeAssitant supervisor installed and a Sonoff usb dongle P. No ZigBee2MQTT. To begin with the Dongle was recognised by HA, natively running ZHA, all worked okay. Then I added ZigBee2MQTT as a add-on in HA, linked it to my Mosquitto account, added MQTT as an add-on as you need it as well. The difference is enormous, as I now have a ZigBee Dashboard, many more options were seen by the ZigBee2MQTT on the devices that I had installed that weren't seen by the ZHA, I was even able to update certain firmware on my switches.