You can run many things on a single Pi 4 but don’t put all your eggs in one basket.
You don’t want everything down if the hardware fails on you, and you don’t want certain resource intensive services in the same box in which you need good performance (like front facing stuff and essential services) like Hassio, Web Pages, proxies, etc.
Also you don’t want to freeze or slow the box in which you run your critical services (alarm, thermostat, locks, automations) or the interface you use to control all your home. You want a nice butter smooth experience and instant response times.
I learned from the first time my SD got corrupted.
Basically I was left without Unifi and PiHole (which were only on the Pi) and had loads of issues.
My network was unmanageable and my devices stopped working as the PiHole was my only DNS so they couldn’t resolve any addresses.
So now I have:
-RPi3B+ running Hassio (with Unifi, NGINX and PiHole which is turned off)
-ODroid XU4 running OpenMediaVault that hosts my Nextcloud(which I use to access my NAS remotely), PiHole (takes loads of ram after 2million domains in blocklist), PLEX, SMB, MotionEye, Print Server, Transmission. Also Unifi and NGINX (which are turned off). These services need way bigger bandwidth and processing so I need the gigabit connection in the XU4, also they were making my HomeAssistant very sluggish sometimes and making my backups huge.
My setup was done way before the Pi4 came out so there weren’t many options aside from a NUC. And I wanted something small that draws very little power and fits in my cabinet.
Aside from the need of having a local place for backups, my XU4 has a docker for Unifi/NGINX ready but turned off in case my Pi fails, so I can get up my network up and running quickly.
If my XU4 fails then I still can manage my network and change the DNS settings for all my clients (or just point the DNS server to my Pi and turn PiHole on).
Two days ago I just had my Hassio crash, no problemo: PiHole is still responsive so the clients can still resolve addresses (hosted on a separate box).
My NAS had the backups I needed so I was able to just flash Hassio to the microSD card and restore a backup within 20min. .
At the end it depends on your setup or what you want.
I’d grab that RPi4 and put some heavy stuff on it that will really utilize it and also to put some stuff to play with.
And move the HA and other essentials services to a box in which I wouldn’t touch much or that I know I’m not running sketchy stuff like Transmission, Nextcloud, PLEX, MotionEye which are intensive on the disk and network which may lead to slowness, unavailability of services, freezes (all within the same box) or even make your hard drive fail.