I have a script written in bash that sets up my zsh config and changes current user's shell to zsh if needed/possible. After default shell is changed, I want zsh to load my new profile, but when I do a regular
source, it opens in shell run by script (bash).
I don't find any step in your question, where you actually start the Z shell... so probably you want to include a
exec /bin/zsh in your (bash-) script and then
zsh will source automatically your zsh config in
Excerpt from bash's man page:
exec [-cl] [-a name] [command [arguments]]
commandis specified, it replaces the shell. No new process is created (...)