Like I said, it’s a personal preference.
I like to customise my Zsh much more than Bash.
Now, some fancy Zsh features like autosuggestions work rather poorly in the TTY, at least the way I have them configured, because of the limited colour palette in the TTY. In general, if I’m using the TTY, I’m using it because I can’t use my terminal emulator of choice – almost certainly I’m in troubleshooting mode and I don’t want to be distracted by a shell that is too fancy (even though, normally, that would be convenient).
Same thing with SSH, if it is not predictable from where I am accessing it, I may have limited terminal features. I could be using the TTY in one computer to SSH into another.
Finally, I like to keep my .zshrc branchless. I could have something like
if [[ $TERM = "xterm-256color" ]]; then
# use this setting
else
# use that setting
fi
but I don’t like doing that, branching just slows down the loading of .zshrc, makes it bigger and more difficult to read, and keeping and maintaining elif branches that I’m going to use in less than 1% of cases is just not something I want to do.
On the other hand, Bash is super predictable. It’s a powerful shell on its own, not much inferior to Zsh, except that it lacks ZLE and all its fancy features. I find Bash completely sufficient for TTY and I like its predictability with SSH.
I still use Zsh in more than 99% of all interactive shell sessions even if it is not my user’s default shell. And since the terminal is my preferred way of interacting with my computers, that’s a lot of hours I spend in Zsh.