Workspace stays fixed on external monitor when switching workspace

This behaviour is by design. The GNOME designers decided this was the best thing to do, not taking their actual users into account.

enter image description here

Luckily the behaviour can be reverted. You can use Gnome Tweaks or execute the following in the terminal, re-login and you're all set:

gsettings set org.gnome.shell.overrides workspaces-only-on-primary false

or using this on older systems:

gconftool-2 --set /desktop/gnome/shell/windows/workspaces_only_on_primary false --type bool

You probably want to have panels and workspace preview on all monitors too: How to have both monitors in the workspace preview for Gnome Shell?