The best way I found is to run KVM hypervisor. And use separate guests for everything you can: network, services like fileserver, torrents, development and so. Let's say you can use Openwrt for wifi and pfSense for routing or VPN if you need it, and not sticking to any specific OS. I use CentOS\Fedora systems for hypervisors, these are pretty mature systems. Firewall+some file services on a single platform for SOHO is ok and even better than ok. The main downside all-in-one-box is one point of failure, so if you have some critical infrastructure you should backup your system or run on separate machines. Adding more wifi AP in such a setup is not a problem if you need them in future.
I doubt you need any 10Gb cards in such a tiny setup, (if you need Chelsio can be the cheapest), 1Gb - you can use any Intel based cards which is integrated in motherboard, or something like Intel i210 or i350.
Don't know anything about 4G (sitting on some usb dongle right now) , but these connections need good signal, so it's better to think about antenna and how you are going to place it.
As for the criticism of beefy all-in-ones. Personally I hate all-in-ones)))), things (gadgets) like smartphones are awful. But I think it's hard to understad this point if you never was a gypsy\nomad or if you never lived in 30-40 sq.m., so when you travel a lot, mobility and flexablity is a must. When planning persistent installation having more cables and physical devices not an issue and 1000% I'd better go for it.