https://teklager.se/en/knowledge-base/apu2-1-gigabit-through...
For me, I've discovered the excellent Supermicro X10SLM+-F motherboard. I've bought them off eBay for as little as $145 with 32 gigs of ECC RAM and a 4-core Xeon E3-1220v3 included. Every one I've grabbed runs flawlessly. That board uses around 25w at idle with the BMC running, and can host more than just a pfSense VM. You still have to supply a case and a high quality PSU (don't skimp here!), but those don't have to break the bank.
(If you want to run your router in a VM and pass the LAN controllers through to it, I can recommend the X10SLM+-LN4F, which adds two more gigabit ports. Pricing should be similar.)
If I had to do this on a tighter budget, I have tried OpenWRT on an Rpi4 and it was definitely workable. Didn't have a few features I was looking for, and I was already running a Supermicro anyway for other workloads, so I went back to using a pfSense VM, but YMMV.
Also interesting are the NanoPi R2S and R4S at https://www.friendlyarm.com
Especially those by PCEngines are designed for that job; I've used their Wrap boards in the past as firewalls with PfSense and they were rock solid.
No affiliation with any of them, just a satisfied customer.
Big fan.