A lot of it will depend on what age of hardware you are looking for, especially the price. Last year I upgraded all my machines to Poweredge R620 servers. These are old enough that you can find a lot of options for CPUs and memory dirt cheap, and you can find them with either 2.5" or 3.5" internal hot-swap bays. The 6xx series is 1U and the 7xx series is 2U chassis. If power is a concern, I run some VM servers with around 10 VMs in use, 64GB of memory, and a pair of 12-core Xeon E5-2630L v2 processors (2.4GHz, low power) at around 84W, but there's plenty of options to customize to your needs unless you need current-generation horsepower. The PERC controller in them can be flashed to IT mode for full control, and I run ZFS through it for some of my machines. I built these machines for around $150-200 each and picked them up from ebay (there's a US seller I can recommend if you're interested in going that route).
Keep in mind the R* series are rack servers, but Dell also has tower versions of the same machines available -- I think those are labeled as M620?
This is how I do my home system, Dell r710xd I believe. I bought it used via craigslist and I think it came from the local power company. In the States we have government surplus sites that have stuff cheap.
You can mount a rack mount system vertically on the side of the wall, hanging down with a couple of shelf brackets.
One thing to keep in mind if you go with an i5 or i7 is that you won't have the option to use ECC memory. If you're running TrueNAS, you'll need ECC memory for the ZFS cache. A Xeon E5 v2 server is old, but still has a more than enough power for your use case, and they're not particularly expensive.
If you need something more powerful, you can find some decent Xeon Gold systems on eBay, but they'll be a bit more pricey. The new Xeon W chips are also an option, but at least for me, they're prohibitively expensive.
I did some research on this, and it turns out you're absolutely correct. I was under the impression that ECC was a requirement for a ZFS cache. It does seem like ECC is highly recommended for ZFS, though, due to the large amount of data it Storrs in memory. I'm not sure I'd feel comfortable using non-ECC memory for ZFS, but it is possible.
Anecdotally, I did have one of my memory modules fail in my TrueNAS server. It detected this, corrected itself, and sent me a warning. I don't know if this would have worked had I been using non-ECC memory.