Good question! Following Eric's comment, let's only apply the cardinality-agreement rule to infinite subsets.
The answer is consistently no. For example, take $\vert X\vert =\aleph_1$ and $\vert Y\vert =\aleph_0$, under the assumption that $2^{\aleph_0}=2^{\aleph_1}$. Then if $h: \mathcal{P}(X)\rightarrow\mathcal{P}(Y)$, we always have have $\vert X\vert>\vert h(X)\vert$.
What about the restricted version? Well, just swap $X$ and $Y$. If $\vert X\vert =\aleph_0$, $\vert Y\vert =\aleph_1$, and $h: \mathcal{P}(X)\rightarrow\mathcal{P}(Y)$ is a bijection, then for some $A\subseteq X$ we have $h(A)=Y$; but then $\vert A\vert\le \aleph_0<\aleph_1=\vert h(A)\vert$.
Note that there's nothing special about $\aleph_0$ and $\aleph_1$, here; in general, any failure of the injectivity of the continuum function $\kappa\mapsto 2^\kappa$ yields a failure of the statement you're trying to prove, even after we take Eric's suggestion and modify the cardinality-requirement to only hold for infinite sets. Conversely, if the continuum function is injective, the $\vert\mathcal{P}(X)\vert=\vert\mathcal{P}(Y)\vert$ means $\vert X\vert=\vert Y\vert$, and then trivially such an $h$ does exist. So, in fact, we have:
The statement $$\mbox{"If $\vert\mathcal{P}(X)\vert=\vert\mathcal{P}(Y)\vert$, then $\exists$ a bijection $h$ satisfying $\vert A\vert=\vert h(A)\vert$ for all infinite $A$"}$$ is equivalent to the statement $$\mbox{"The continuum function is injective."}$$