This is why I've setup my homelab with a hypervisor, you don't have to choose and can run each of these operating systems, for specific purposes they are best suited for. This is what I do:
OpenIndiana: file server (ZFS)
OpenBSD: firewall, router, network services (DHCP, DNS, NAT)
DragonflyBSD: game server
FreeBSD: other general application services
I haven't found a personal use case for NetBSD yet, though I would like to (it is great for embedded systems).