Cardinality of $H(\kappa)$
Solution 1:
1) To show that $|H(\kappa)| \leq 2^{<\kappa}$, we need to code elements of $H(\kappa)$ using subsets of ordinals $< \kappa$.
Let $x \in H(\kappa)$ and let $a$ be the transitive closure of $\{x\}$. Fix a bijection $f:|a|\to a$ with $f(0) = x$ and let $E \subseteq |a|^2$ be defined by $\xi \mathrel{E} \zeta$ iff $f(\xi) \in f(\zeta)$. Then $x$ is recovered as the value of $0$ in the transitive collapse of $(|a|,E)$. The pair $(|a|,E)$ can be encoded as a subset of $|a|^2 < \kappa$. This encoding process shows that $|H(\kappa)| \leq 2^{<\kappa}$.
2) To see that $H(\kappa) \subseteq R(\kappa)$, note that the rank of an element $x \in H(\kappa)$ is smaller than $|a|^+$, where $a$ is once again the transitive closure of $\{x\}$. Since $|R(\kappa)| = \beth_\kappa$, we see that $H(\kappa) = R(\kappa)$ can only hold when $2^{<\kappa} = \beth_\kappa$. Note that $2^{\lambda} < \beth_\kappa$ for every $\lambda < \beth_\kappa$. Therefore, $H(\kappa) = R(\kappa)$ entails that $\kappa = \beth_\kappa$.
To see that $\kappa = \beth_\kappa$ entails that $H(\kappa) = R(\kappa)$ it suffices to check that every element of $R(\kappa)$ has transitive closure of size less than $\beth_\kappa$. In fact, this holds for every limit ordinal $\kappa$: if $x \in R(\kappa)$ then $x \in R(\alpha)$ for some $\alpha < \kappa$ and hence the transitive closure of $x$ has size at most $|R(\alpha)| \leq \beth_\alpha < \beth_\kappa$.