For what its worth, as an nerdy amateur I went down this route for OpenWRT being router running family email server + wordpress site:
Main router = x86_64 core i5 (4 core / 4 thread) + 8GB RAM +120GB SSD runs at 6.7watts idle.
OpenWRT installed on USB stick and a NVMe SSD manually password encrypted for data storage.
WiFI M.2 Qualcomm NIC for 5g (WPA3 LAN + WPA2 GUEST + client isolation), plus Mediatek USB 2g (WPA3 LAN + WPA2 GUEST + client isolation)
Openwrt runs OpenVPN, Exim, Dovecot, ClamAV and Qemu-KVM VM.
Ports 25,80,443,587,995,1194(actually something else) open to WAN. 80+443 forwards to VM.
Qemu VM runs Ubuntu 22.04 LTS and has Apache, MariaDB, Wordpress.
I figured Wordpress is the most likely to get hacked so stuck that on the VM in its own zone.
OpenWRT also runs Crowdsec (registered to a few block lists) and Fail2ban (monitoring Exim/Dovecot and OpenVPN).
So stuff gets blocked before even trying and the stuff that does try gets a banned in short order.
OpenWRT Firewall zones:
The LAN cannot access the VM zone and vica versa without going via the VPN zone (which is OpenVPN). OpenVPN uses preshared key + password protected key and the keys and PKI are kept on a separate encrypted machine (only decrypted when needed). SSH is behind the VPN.
Ubuntu VM also runs own firewall.
I would have gotten round to putting fail2ban on the VM or perhaps setting up Crowdsec to report back to main instance. Except it turned out no longer to be required as Wordpress not used. So actually the VM is down and 80+443 are closed again.
Have thought about moving Exim + Dovecot into the VM now Wordpress is not needed.
But anyway. understand its risky (but don't appreciate how risky because amatuer). I keep on top of patching and CVE notifications. And rely on Crowdsec + Fail2ban.
Seems to work ok. Would have liked an extra 2 cores and 8GM RAM, but at the time the 7th gen i5 was much cheaper as a second hand ebay purchase.