You need a firewall and optimally a separate wifi network for this kind of thing, because they pretty much all call home. I’m happy enough with Reolink, but mine are PoE. I haven’t set up a NVR for them, just scrypted -> HomeKit Secure Video. I don’t know if you can set up the Reolink NVR in a secure fashion, and get notifications etc.
Because you want outside of home availability, self hosting now means punching a hole in the firewall for VPN or implementing Cloudflare tunnels or Tailscale or something. That’s where the handy cloudy apps come in.