price-per-unit-compute is really high
Well yeah, they're optimized for storage. And if you're starting from nothing, you're going to need storage.
Synology is your budget home cloud, and it's just good enough to handle basic cloud tasks and small-scale service hosting. If you grow out of it, you leave the Synology NAS for purely data storage, and add another box for heavier compute.
TrueNAS, on the other hand, is usually overkill for a home NAS setup because it's designed for small-ish business use-cases, so it has a lot more CPU and RAM than you'd need when you only have a handful of users in a home setting. So it can probably handle any CPU workload you throw at it, within reason. It probably wouldn't make a great compiling cluster, but it would do really well hosting things like NextCloud. If you're looking for transcoding, you need to check the hardware and drivers on FreeBSD (maybe it's not an issue, but it's good to check first).
Do they have some kind of VPN or TURN system?
How would the router help with that? If you're behind CGNAT, you'll need something external regardless. If you're not behind CGNAT, pretty much any router on the planet can do port fowarding, and many can handle a network-wide VPN if that's what you're after.
I'm behind CGNAT and I have a VPS that hosts my VPN and routes all traffic using HAProxy over the VPN to my internal devices, and my internal devices maintain a persistent connection to the VPN. It sounds complicated, but it's really just two config files that I'd be happy to share if anyone is stuck. I do have a Mikrotik router, but it's not needed for any of this, I only use it for static DNS routes so I don't hit the WAN when accessing my services by their domain names (and VLAN for ZeroTrust shenanigans, but again, not needed at all). If I didn't have that option, I could always just host a DNS server right on my NAS and do the same thing (any router can set the DNS server over DHCP).
How beefy? Multiple CPU?
No, I'm not that productive. I just want it to run builds of my Rust projects, and those can take some time. So 6-8 recent-ish cores is plenty. Right now I'm using a Ryzen 1700, and once I upgrade my PC, I'll move my Ryzen 5600 to it. I want my builds to finish somewhat quickly without interfering with other services on the machine (e.g. if I'm running a build while we're watching a movie, I don't want the movie to stutter).
If my project grows (i.e. I get outside contributors), I'll need higher specs.
And yeah, my preference for a single box is storage space. My NAS sits on my desk, and I'd really rather not get a rack setup. More machines means higher power and more space. I do have a couple of Raspberry Pis around for specific use-cases (e.g. one on my TV for RetroPie), but I'd really rather not have a handful of PCs running 24/7. Electricity is pretty cheap where I live, but even then, I'd rather not waste power just because I can get a good deal on servers. My single box uses something like 40-50W, and once I upgrade to my 5600, idle draw will drop another 10-20W (I have a 20-30W floor due to the drives).