[guided]Now we prove the reverse comparison. This time the cover must be chosen from the metric scale. Fix $\varepsilon>0$. Since $X$ is compact, the open balls $B_d(x,\varepsilon/2)$ with $x\in X$ admit a finite subcover. Let $\mathcal U_\varepsilon$ be such a finite subcover. Every member of $\mathcal U_\varepsilon$ has diameter strictly smaller than $\varepsilon$, because if $a,b\in B_d(x,\varepsilon/2)$, then the triangle inequality gives
\begin{align*}
d(a,b)\le d(a,x)+d(x,b)<\varepsilon.
\end{align*}
Fix $n\in\mathbb N$, and let $A\subset X$ be an $(n,\varepsilon)$-separated set of maximal cardinality, so $|A|=s_n(\varepsilon)$. The key point is that a single atom of the join cannot contain two distinct points of $A$. To see this, take an atom
\begin{align*}
C=U_0\cap f^{-1}(U_1)\cap \cdots \cap f^{-(n-1)}(U_{n-1}),
\end{align*}
with $U_0,\dots,U_{n-1}\in\mathcal U_\varepsilon$. Suppose $x,y\in A\cap C$. For each $j\in\{0,\dots,n-1\}$, membership in $C$ gives $f^j(x)\in U_j$ and $f^j(y)\in U_j$. Because $\operatorname{diam}(U_j)<\varepsilon$, we get
\begin{align*}
d(f^j(x),f^j(y))<\varepsilon.
\end{align*}
Since this holds for every $j$, the definition of the Bowen metric gives
\begin{align*}
d_n(x,y)=\max_{0\le j\le n-1}d(f^j(x),f^j(y))<\varepsilon.
\end{align*}
But $A$ is $(n,\varepsilon)$-separated, so distinct points of $A$ must have $d_n$-distance at least $\varepsilon$. Therefore the only possible conclusion is $x=y$. Hence each atom contains at most one point of $A$.
Let $\mathcal W_n$ be a subcover of $\mathcal U_{\varepsilon,0}^{n-1}$ with minimal cardinality:
\begin{align*}
|\mathcal W_n|=N(\mathcal U_{\varepsilon,0}^{n-1}).
\end{align*}
The family $\mathcal W_n$ covers all of $X$, hence it covers $A$. Since no member of $\mathcal W_n$ can contain more than one point of $A$, the number of points in $A$ is at most the number of sets in $\mathcal W_n$. Thus
\begin{align*}
s_n(\varepsilon)=|A|\le N(\mathcal U_{\varepsilon,0}^{n-1}).
\end{align*}
Taking logarithms, dividing by $n$, and then passing to $\limsup_{n\to\infty}$ gives
\begin{align*}
S(\varepsilon)\le h_{\mathrm{cov}}(f,\mathcal U_\varepsilon).
\end{align*}
Since $h_{\mathrm{cov}}(f)$ is the supremum of $h_{\mathrm{cov}}(f,\mathcal U)$ over all finite open covers $\mathcal U$, we also have
\begin{align*}
h_{\mathrm{cov}}(f,\mathcal U_\varepsilon)\le h_{\mathrm{cov}}(f).
\end{align*}
Combining the two inequalities yields
\begin{align*}
S(\varepsilon)\le h_{\mathrm{cov}}(f).
\end{align*}[/guided]