Docker as mentioned above is great especially if you're going down the homelab rabbit hole. You'll find it really useful to get familiar with for future projects.
Another alternative is to install DietPi. It's an operating system for a raspberry pi. It has all these programs you mentioned with install scripts including docker and installing (and updating) is as easy as checking a box. Also has a pretty good community in case you run into an edge case.
As said use docker but if you directly want to run a DNS and VPN servers then my recommadtion is Adguard Home instead of PiHole since it is rootless and doesn't modify system
And for VPN go with PiVPN script and setup wireguard.
Once installed both handle automatic updates without running a single command.
I would go one further and recommend installing Portainer too. Install Docker, then find the code to install Portainer. Then you can log in to Portainer and use that to manage Docker.
I've tried to use Docker for a number of years (and succeeded!) but have recently used Portainer and found it so much easier.
I now install the Portainer client on every instance of Docker that I use and track them all through a single IP address on my lan.
I had read about Docker Compose but never followed it up. But now with Portainer I've come to realise that "Compose" is "Stacks" in Portainer. So now I can just open up my Portainer and copy/paste a compose into a stack and save it, and it fires up the programme for me.
If I want to replicate that program somewhere else I can either copy/paste my stack, or use the "replicate" function to just add it to another machine.
Do you want to use tailscale so you can vpn from your laptop etc when your away from home for pihole to block ads on the laptop? Wouldn't it be easier to run ublock origin on the adblock on the laptop instead?
Pi-hole (or my preference Adguard Home) is great for devices connected to your home network. For your phone, go with Blokada (free) or Adguard (iOS, Android, paid - see Stacksocial for occasional license deals) - that'll cover you at home and out of home.