It’s rock solid. It goes to great length to never lose process output, not even a single char, across service restarts. (it might be possible to achieve same on systemd - but it isn’t trivial)
And it’s been that way for me for two decades now - Ubuntu moved from system v to upstart to systemd; my systems still use the same daemontools setup they used 15 years ago, they do it on FreeBSD and Linux. And they just work, no surprises.