$\DeclareMathOperator{\Nat}{Nat}$In a current project, I am trying to "commute" $!$ and $*$ functors that are both upper or both lower. (Sheaf-theoretic context: constructible étale sheaves.) The fact that they commute when we have one of each ultimately comes down to proper base change: that is, if we have maps $f \colon X \to Z$, $g \colon Y \to Z$, and their fiber product with projections $p, q \colon P \to X, Y$, then we have a natural isomorphism
$$g^* f_! \cong q_! p^*.$$
From each direction of this isomorphism we can derive arrows between un-mixed compositions:
$$\begin{align}
g^* f_! \to q_! p^* \implies f_! \to g_* q_! p^* \implies f_! p_* \to g_* q_! \qquad &(1)\\
q_! p^* \to g^* f_! \implies p^* \to q^! g^* f_! \implies p^* f^! \to q^! g^* \qquad &(2)
\end{align}$$
(the second implications are valid! Work it out: if $L$ and $R$ are left- and right-adjoints, then for *functors* $F$ and $G$ we have $\Nat(F, GL) \cong \Nat(FR, G)$.)

It is clear that (1) is an isomorphism when $f$, and hence $q$, are proper, and that (2) is an isomorphism when they are open immersions. It is also easy to prove directly that (1) is an isomorphism when $f$ is an open immersion, since we can check that both sides have the same restriction to the open subscheme and their restrictions to its closed complement are zero. So (1) is an isomorphism by Nagata's compactification theorem, which is the basis for defining the lower-$!$ functors anyway. Here's my question:

Is (2) an isomorphism when $f$ is a proper map?

My one trick, which was a direct computation, is no good here. I normally avoid like the plague dealing with the upper-$!$ functor directly, reducing it to something better by adjunction or duality, but the question is self-dual and I already exhausted my options with adjunction in deriving it.