I fully understand your frustration.
My story is … I came from Homey. At that time, Homey sucked even more. “All in one box” solutions have a higher probability to suck somewhere even though they are brilliant most places.
By splitting your smarthome up in smaller chunks you get more freedom to cherrypick.
Right now I run Deconz zigbee and zigbee2mqtt zigbee - in Parallel. Reason being that Deconz is really stable for lights and switches but often suck at sensors. After I moved my battery powered Aqara sensors to their own small Zigbee2MQTT network it is all stable. The cost was a dongle that cost 5 dollars and a few hours of my time. It is not ideal but you have to remember that a smarthome is built from a huge number of independent bits and bobs.
Home Assistant tries to put it all in same box and does a remarkable good job. But Mosquitto is a 3rd party component and the bug in question is one that harms few. And if you downgrade Mosquitto to an earlier version to avoid one bug, you go back to 20 old bugs that may not affect you but affected others.
The maintainer of the Mosquitto Addon is doomed no matter what he does.
Mosquitto uses very little resources. A Raspberry Pi 3 will be just fine.
Here is my /etc/mosquitto/mosquitto.conf file
# Place your local configuration in /etc/mosquitto/conf.d/
#
# A full description of the configuration file is at
# /usr/share/doc/mosquitto/examples/mosquitto.conf.example
pid_file /run/mosquitto/mosquitto.pid
persistence true
persistence_location /var/lib/mosquitto/
log_dest file /var/log/mosquitto/mosquitto.log
bind_address 0.0.0.0
password_file /etc/mosquitto/passwdfile
include_dir /etc/mosquitto/conf.d
I have no additional configurations in the conf.d directory. This is it.
And then you define the mosquitto password and make sure it is added to the file in the location given by the config file. in my case /etc/mosquitto/passwd
To create the password for Mosquitto - cd to the /etc/mosquitto directory and type the command
sudo mosquitto_passwd -c passwdfile username
First you authenticate the sudo command
Then it promps for a password.
See also Mosquitto Username and Password Authentication -Configuration and Testing
If you installed mosquitto on a Debian based box (Raspberry Pi OS, Ubuntu etc) with apt install mosquitto you enable the service with the normal systemctl service commands
sudo systemctl enable mosquitto
sudo systemctl start mosquitto
To restart if it already runs to pick up config
sudo system restart mosquitto
Mosquitto is one of these simple services where it is not even worth running it in Docker. It runs on bare metal using no CPU resources at all for a small normal home installation.
Note that I do not use encryption with Mosquitto. It is a nightmare to make that work with DIY IOT devices and much more difficult to setup.