I mean, that’s basically the option. Set up a domain, set up dynamic DNS, and safely do the right port forwarding and IP reservations in your router.
Unfortunately this is not easy for a lot of people, and the overall picture of home automation requires a combination of skills that not everyone has. Then they basically get two choices: pay for a company to maintain the system, or use someone else’s cloud. A lot of people will pick option 2.
Unlike a lot of DIY tasks, it’s not even one that I would suggest to someone who is hesitant. It’s not a “oh just try planting tomatoes this year, see how it turns out.” Someone who messes up their port forwarding rules could potentially open their home network to a lot of trouble.
In the Mojave? Mountain lions, coyotes, maybe a dog, and snakes (though that is more a matter of “avoid” than “defend”).