How much hardware/firmware work do you want to do?
I started with the same questions you have. I tried out a few Zigbee devices (I bought a HUSBZB USB stick for my Raspberry Pi, and use “native” ZHA - no MQTT.) I’ve found this to be the simplest plug-and-play solution. I have some IKEA Tradfri smart plugs and some Visonic door/temperature sensors. I also bought three “no name” Zigbee devices. They all just work out of the box, no tinkering required. I did modify one door sensor to remove the reed switch and hook it to a relay so that I can monitor when my boiler goes on and off.
I also have some TP-Link WiFi smart plugs. I wanted these because they do energy monitoring, as well as on/off. Although they can be connected to the TP-Link cloud, there is an HA integration which works locally. Overall they’ve been OK, although earlier versions of the HA integration had some bugs. Now TP-Link has made noise about third party systems like HA being “unauthorized” so I’m not sure I’d want to invest in any more until that’s resolved. The point, however, is that WiFi stuff works well too, providing there’s good support for it in HA.
For my next project I’ll be getting into some ESP32-based sensors. This seems like a very cost-effective and well-supported option. There’s lots of information here and at other sites to help with the learning curve, although some basic knowledge about tinkering with electronic devices would probably come in handy.
From my perspective, Tasmota is a more “techie” solution, requiring slightly deeper knowledge and experience. The devices are cheaper but you sort of have to set up a bit of a “lab” or workspace somewhere to flash them. I haven’t really had the need for enough sensors to justify that. Yet.