I run three piholes with gravity sync and have none of the problems you describe.
But pihole isn’t big magic it’s basically a dnsmasq with some management stuff around it. you could host a dnsmasq yourself and just fill the filter rules in the config file your self with ansible. The adliges are publicly available just get them with Ansible and parse them into a dnsmasq config template.
Here is an blog about it. https://alblue.bandlem.com/2020/05/using-dnsmasq.html