It sounds like you are on the right track as far as what software to use to accomplish the tasks you want on Linux. You can install and config OpenVPN and use it to access your machine outside your network, you can also use certain VPN services with OpenVPN if you wish, like Private Internet Access for example has an OpenVPN config. Samba will give you file access across your network. For a media server, you can use something like Plex or Emby (both of which can be made to work with Kodi too).
I'm by no means (anything resembling) a server expert, but I don't think you're asking too much from one server. You might find you're not happy with performance doing all of that on an 1156 system, but I think that will depend on how many of those tasks you'll be running at the same time. If you want to use ZFS you might find you want more RAM, and ideally ECC memory (if your board supports error correction). I'd think the router will be fine if it's served you well so far.
As far as file systems, BTRFS is still rough and has many missing, broken, or unoptimized features,
whereas ZFS is mature, fully functional, and very stable, albeit ZFS implementation into Linux is still technically in beta I believe.
ZFS on Linux is pretty amazing once you get past the learning curve, it even feels to me like magic sometimes to be honest, like what it's doing should be impossible (eg: snapshot or roll back a pool to a point in time instantly with one command, lz4 compression with no speed loss, incremental backups are absurdly fast, etc). I've been using it for a couple years and it saved me from corruption a few times already. No major issues, although I always wait at least a couple weeks before going with the latest version and check the issues section on github beforehand as well.
Other than the learning curve, there are a couple things to consider about ZFS on Linux. The Linux kernel developers broke SIMD support (by denying CPU FPU access (or some such thing) to non-GPL applications like ZFS) with kernel 5.0+, then backported the breakage into some LTS kernels etc.
, the effect is gimped disk performance. So one is forced to carefully select an older kernel and wait until ZFS on Linux developers create a work around which is supposed to come next year, run a patched kernel (or a distro like NixOS that includes said patches by default IIRC), or suffer gimped disk performance. The other thing to consider is if you wish to install the root OS on ZFS it looks like a pain (I decided to use a ZFS root later, so I pretty much just copy/pasted the ext4 OS onto ZFS datasets), not to mention getting grub to boot off ZFS took quite a bit of trial and error.
You can do raid on ZFS but mirrors always seemed like a better option, for me anyway. The downside is you need to use 2 drives (or more) but only get the capacity of 1 drive. It also makes things not as straight forward as just adding a drive to get more capacity. Yet it is simple compared to raid (eg: no striping) and (IIRC) faster, and, though it's not a replacement for a backup, it offers very good protection from file corruption or disk failure because data is exists on both drives.
FreeNAS (or similar) appears to be easier to use than ZFS on Linux, but it seems like it's less flexible, to the point where I'm not sure you can accomplish all you want to with it. If you check their available add-ons and documentation
, you might be able to tell. You could do much of (or all of) what you want on Windows I imagine (it may even be easier) but then you're forced to use NTFS, which is certainly sub-optimal, but not the end of the world.
Hope that helps.