You can use nginx reverse proxy with basic HTTP auth over SSL. Or even better set up a two factor auth system with nginx. You'll probably need to set this stuff up in nginx server blocks, I think NPM is pretty limited in what it exposes to the GUI.
I'm not sure what ZM capabilities were but for notifications and stuff like that you can use Home Assistant. That also has some pretty good remote access features if you can put in the time to set it up.
I have my important data stored on a RAID1 for some redundancy, but otherwise it's just snapshotted to an external drive plugged into my server. It's not ideal and I have two plans I really need to get around to implementing.
I have a detatched garage so I am going to set up another machine hidden in the roof space of the garage where I can have "offsite" backups. It won't get found if my house is being burgled (you need a ladder) and it's far enough away that it hopefully survives if my house burns down. My garage already has ethernet cable.
Another option would be storing some stuff at a friends place if you have friends that self host. I've also been meaning on setting a Wireshark tunnel to a friends server and we can borrow a little bit of each others space.