Depends on the specific Zigbee switch, but generally yes.
The magic is in the fact that you can decouple the relay, and use the switch as a sensor that triggers things that may or may not be related to the physical switch position.
The other reason I like it better than a typical “smart switch” is that I can use the shellys with whatever switch I want, so I can have it match my dumb switches and use different colors.
The answer to your overarching question is not “common maintenance procedures”, but “change management processes”
When things change, things can break. Immutable OSes and declarative configuration notwithstanding.
OS and Configuration drift only actually matter if you’ve got a documented baseline. That’s what your declaratives can solve. However they don’t help when you’re tinkering in a home server and drifting your declaratives.
This right here is the attitude that’s going to undermine everything you’re asking. There’s nothing about containers that is inherently “safer” than running native OS packages or even building your own. Containerization is about scalability and repeatability, not availability or reliability. It’s still up to you to monitor changelogs and determine exactly what is going to break when you pull the latest docker image. That’s no different than a native package.