Big consideration here...you don't mention how many people are using this server, and you don't talk about how important this system will be for your business purposes.
Servers come with better hardware and support. For example, most Dell servers have dual gigabit nics, RAID hardware and hot-swap bays, dual power supplies, and when you call them and tell them that XYZ isn't working you get people to support you until it's working (in theory). You also get management functions in the hardware and software (openmanage software [shudder], and the hardware sensors so you get nice output from things like VMWare ESXi and the Openmanage software telling you about operating temp, fan speed, electrical faults, processor status, etc.)
You're mentioning file server and VPN plus Exchange. Modern exchange best practices is to not do that...you have a dedicated system for it because it's a resource HOG, and for most email purposes it's overkill. You really need an office that is going to actually use scheduling and contacts and directory and all those whiz-bang features to justify the cost, otherwise you can go for something that will really save you more in the long run to do just email. That's my two cents on it.
If this is important to the business, you definitely need a backup plan in place. This isn't thinking as if, "okay, I need a beefy system that can do X, Y, and Z! Voila!", but also, "How much crap am I in when a hard disk goes bad?", or, "Are there rules that say we need data retention for ", or, "how much trouble am I in if a controller dies?". RAID helps, but it's not infallible. And it's not a backup. That's one reason to have a system in place to keep from having one machine's death causing the business to grind to a halt.
Okay...that said...my approach would be to weigh a couple options. One, split your budget up to have multiple systems to divide the workload. It's not so bad if one system dies and you can't print for a little bit (in most cases). You also need a good backup server in place.
Second, virtualize it. Invest in getting a couple white-box systems with some heft and virtualize each system you need to divide up the load. Using two systems you can split loads and have a backup in case one system dies.
Third, combine one and two. Couple of white boxes with VMWare ESXi or XenServer loaded with RAM to handle VM's for printing, VPN server, etc. Even Exchange can be virtualized but it's not supported by MS. File server can be another inexpensive system running something like FreeNAS or OpenFiler, and a backup server with plenty of capacity to handle backing everything up periodically will save you headaches down the road. The separate VM's will ease some management chores and separation of duties means when you modify one system's config (oh boy! New antivirus update just fubar'ed the server again!) then it won't kill every service just because of one thing being finicky. I find it's also easier to recover from problems using VM's because you can get stateful backups. Something kills a machine (or host computer) you copy the VM to another machine and bring it up just like before. Less fuss and muss.
Anyway, serving up a few people on some thrown-together hardware works fine. Up the workload, and you'll have problems. Again you only mention "small office" which could be less than ten or less than 50 or for some people less than 100.
Unless there's a reason you need MS and Exchange, I'd consider running an inexpensive system for OpenFiler/FreeNAS (supports software RAID), a system for backup, and a couple boxes made to run ESXi on which to run your other tasks if possible, and if it's straight email people need you can run Postfix on Linux to save licensing and bloat. If your people are actually going to use the extra features then revert to Exchange (especially if they're already using Active Directory).
Last thing...you can look at the Dell Outlet store for used systems to get decent deals on server-class hardware, or old systems on Ebay. Sometimes getting decent "server class" hardware isn't all that horrible. Otherwise you can make white box servers for things like ESXi to run on if you google "white box esxi" and "$600 esxi".
Hope these suggestions help