Moving to another pane does not trigger pane-mode-changed, it triggers window-pane-changed. The simplest improvement is to define two hooks:
set-hook -g pane-mode-changed '…' # you already have thisset-hook -g window-pane-changed '…' # same action, different trigger