I think the best way to set pihole up is to use the docker image, https://github.com/pi-hole/docker-pi-hole/. run it on a pi or any other computer with docker. Upgrades are painless.
I firmly agree, but would make an even more specific recommendation to use the docker-compose setup so that redeploying the same customizations is easy. I do this on two different hosts so I have redundant DNS, and it's been working great for several years.
I went with the pihole in docker approach with a Ubuntu 22.04 machine. Pretty smooth, I had a few quirks with docker desktop for linux that might not show up otherwise. Definitely my recommendation too.