CFL and inverse homomorphism
Suppose that $A=(Q,\Delta, \Gamma, \delta, q_0, \gamma_0, F)$.

Define $\operatorname{Prefs}(u)$ to be the set $\{v|\exists w, u = vw\}$ of prefixes of $u$.

Define $A':=(Q',\Sigma, \Gamma, \delta', q_0', \gamma_0, F')$ by:


$\displaystyle Q':= \left(Q\times \left(\bigcup_{a\in \Sigma}\operatorname{Prefs}(h(a))\right)\right) \sqcup \left(Q\times \Sigma \right)$. A state $(q,u)$ with $u\in\operatorname{Prefs}(h(a))$ will mean "I'm in state $q$ in $A$, I've read $u$ and am waiting for the rest of $h(a)$ and then I'll go to $(q,a)$" while a state $(q,a)$ means "I've read $h(a)$ and will now simulate a transition reading $a$ in state $q$ in $A$ to arrive to some state $(q',\varepsilon)$".
Transitions are (where if a transition doesn't mention the stack, it means it doesn't change it):


$(q,u)\overset{b}{\to}(q,ub)$ whenever the destination state exists (i.e. if you can read the letter while remaining a prefix of some $h(a)$, you can just keep reading)
$(q,h(a))\overset{\varepsilon}{\to}(q,a)$ (i.e. at any point, if the word I've read is the image of a letter by $h$, I can replace it by its preimage)
$(q,a)\overset{\varepsilon,...}{\to}(q',\varepsilon)$ whenever $q\overset{a,...}{\to}q'$ in $A$ (where both $...$ are the same thing) (i.e. if I just read the image of $a$, simulate reading $a$ in $A$)

$q_0':=(q_0,\varepsilon)$
$F':=F\times \{\varepsilon\}$


Then (I think that) $L(A')=h^{-1}(L(A))$.

What you call "buffer" would be the right component of the states used to remember the prefix of $h(a)$ you've read.