Not in .zshrc, in your terminal program. For example, if you gnome terminal, you can set a shell in the settings there. If that is set to bash, it won’t matter what your default shell is set to.
% cat ~/.zshrc
#
# .zshrc is sourced in interactive shells.
# It should contain commands to set up aliases,
# functions, options, key bindings, etc.
#
autoload -U compinit
compinit
#allow tab completion in the middle of a word
setopt COMPLETE_IN_WORD
## keep background processes at full speed
#setopt NOBGNICE
## restart running processes on exit
#setopt HUP
## history
#setopt APPEND_HISTORY
## for sharing history between zsh processes
#setopt INC_APPEND_HISTORY
#setopt SHARE_HISTORY
## never ever beep ever
#setopt NO_BEEP
## automatically decide when to page a list of completions
#LISTMAX=0
## disable mail checking
#MAILCHECK=0
# autoload -U colors
#colors
Not sure if it help. Usually I just go to Gnome Terminal setting. On the left list, select the profile then on the top right tab, select “Command”. Select “Run a custom command instead of my shell” then type zsh and reopen the terminal.
Incase you missed to try what @grumpey suggested above.
If it not work, may be you also want to try by creating clean new user and change the default shell again in case something in dot file preventing to change the shell default. After that logout and login again.
How was zsh installed?. On my default fedora 35 workstation install zsh is not installed. It seems possible something needed for zsh to work is not installed thus the shell does not activate.
If it makes any difference I note you appear to be on silverblue so that could be a factor as well.
This thread is tagged as feodra-linux-35 & silverblue and the OP has not said which is actually in use. I guessed at the most restrictive, and noted that fedora 35 workstation does not install zsh by default.
I have tested with both commands presented by @grumpey, on my Silverblue system, and they both change my default shell as I intend. The only other thing I could note is that if you don’t specify a user for the lchsh command it defaults to the root user and will assign the default for that (usually /bin/bash). Another thing of note may be that your install of ZSH is somehow broken, when you layered it onto Silverblue, were there errors given at the time?