As someone who has installed a lot of roms, I recommend staying with the stock one. It can be really useful on very old phones, but it is not necessary on most current devices. The two biggest issues I had were the lack of floating windows and the play integrity api issue. Also MIUI (without bloatware) is the most useful Android interface. Pure Android is nice and simple but not suitable for everyday use.
Yup, you are right. Mobile banking seems to be really difficult on custom ROMs and overall it just brings too many issues. I will keep using the stock ROM for now (HyperOS). I have google play services disabled, all Gapps and Xiaomi bloatware apps deleted. I feel like that's good enough. RethinkDNS to block internet connection from apps that don't need it. I shouldn't let "perfect" get in the way of good.
Do you have any other suggestions to make my phone a bit less of a data mine?
You don't need anything extra to block internet connections for applications. You can directly block them from the app information itself. I think what you've done so far is very good and sufficient for phone internal use. The important part now is the browser section, and I think you can handle that too.