The way ESPHome works is that your device configuration is a yaml file that produces a compiled binary artifact and it can be updated OTA with wifi. The downside of this is that these updates are pushed via the device you are running HAOS and hence compiling can take a while.
HAOS is quite bloated but it's also very versatile and FOSS
There's no reason you have to run ESPHome on your Home Assistant server.
It's offered as a HA a̵d̵d̵o̵n̵ app for ease of use (makes it a one-click install), but you can also just `pip install esphome` or use the provided Docker image and get the exact same UI, but with everything (including compilation) running on your much beefier laptop.
So your binaries get compiled quickly and you can still do the OTAs directly from your laptop. HA needn't be involved.
Every time you make a change to your yaml it requires a recompile. I think now ESP Home allows you to change configurations and upload a bin compiled on your main machine so it's really not a limitation at all. Plus, once it recompiles it automagically uploads so just make your changes and forget about it
HAOS is quite bloated but it's also very versatile and FOSS