One last thing you forgot to mention. zsh is rarely installed on remote hosts. bash is everywhere.
This is a game changer in my case where I can simply download my configuration, load it in the current session and start using all my scripts, aliases on a remote host in less than a minute.
Don't get me wrong, I'm using zsh for personal stuff and computers I have complete control over. But, if I have to write a script, I'll make sure it works with Bash first.