Eric's answer is very nice, but addresses the case when $\mathcal{F}$ and $\mathcal{G}$ are sheaves of abelian groups, whereas the original question asks about sheaves of sets. I thought I might show how to modify things in this case. The idea is quite similar; one again wants to use a skyscraper sheaf (as noted in the OP) to make an ''indicator function''-like argument. I'll use the notation of Vakil's ''Foundations of Algebraic Geometry''.
Let $\phi \colon \cal{F} \to \cal{G}$ be our epimorphism of sheaves. Define $\rho \colon \cal{G} \to i_{p, \ast}\{0, 1\}$ by
$$\rho(U)(g) = \begin{cases} 0 \text{ if } (g, U) \in Im(\phi_{p}) \\
1 \text{ otherwise } \end{cases}$$
for open sets $U$ containing $p$, and trivial maps otherwise. It is straightforward to see that $\rho$ is a morphism of sheaves. Now define $\alpha \colon \cal{G} \to i_{p, \ast}\{0, 1\}$ by
$$\alpha(U)(g) = 0$$
for open sets $U$ containing $p$, and trivial maps otherwise. Likewise, it is obvious that $\alpha$ is a morphism of sheaves. Furthermore, it is clear that $\rho \circ \phi = \alpha \circ \phi$, so $\rho = \alpha$, since $\phi$ is an epimorphism. Surjectivity of the stalk maps is is now easily deduced.
$\def\H{{\mathcal Hom}}\def\HH{{\operatorname{Hom}}}$Everything you wrote seems correct for the locally free case. Though its easy to overlook subtle things with these type of arguments, it looks good to me.
For the second I believe there is a natural map $f^*\H_Y(E,F) \to \H_X(f^*E,f^*F)$. I will actually define a map $\H_Y(E,F) \to f_*\H_X(f^*E, f^*F)$ and use the adjunction with $f^*$ to get the required map.
Let $U \subseteq Y$ be open. Then $\H_Y(E,F)(U) = \HH(E|_U,F|_U)$ and $f_*\H_X(f^*E,F^*F)(U) = \HH(f^*E|_{f^{-1}(U)}, f^*F|_{f^{-1}(U)})$. Then we note that
$$
f^*E|_{f^{-1}(U)} = f|_{f^{-1}(U)}^*\left(E|_{f^{-1}(U)}\right)
$$
and $f^*|_{f^{-1}(U)}$ is a functor from sheaves of $\mathcal{O}_U$ modules to $\mathcal{O}_{f^{-1}(U)}$ modules. Thus we get a natural map of sheaves of modules from $U$ from functoriality:
$$
\HH(E|_U, F|_U) \to \HH\left(f|_{f^{-1}(U)}^*\left(E|_{f^{-1}(U)}\right), f|_{f^{-1}(U)}^*\left(F|_{f^{-1}(U)}\right)\right) = \HH(f^*E|_{f^{-1}(U)}, f^*F|_{f^{-1}(U)}).
$$
Everything is suitably natural enough that it should commute with the restriction maps for inclusions $V \subset U$ giving a map of sheaves $\H_Y(E,F) \to f_*\H_X(f^*E, f^*F)$.
Now that we have the required map $f^*\H_Y(E,F) \to \H_X(f^*E,f^*F)$, I think we need $X$ and $Y$ to be schemes not just locally ringed spaces. Then we can reduce to checking that this is an isomorphism on affine covers in which case it reduces to the isomorphism from commutative algebra. Without having $X$ and $Y$ be schemes I don't think we can make the argument work because $\H$ does not commute with taking stalks so we can't just check it on local rings.
EDIT: See comments below, apparently the argument does work on any ringed space as long as $E$ is of finite presentation.
Best Answer
Here's an answer to your call for examples. Take $p$ to be a non-isolated closed point in your favorite topological space $X$. Let $H$ be a non-trivial abelian group.
$Hom(F,G)_p\to Hom(F_p,G_p)$ fails to be surjective
Let $G$ be the constant sheaf $H$, and let $F$ be the skyscraper sheaf at $p$ with stalk $H$. Then $Hom(F,G)$ is the zero sheaf: any section of $F$ is trivial away from $p$, so a homomorphism would take it to a section of $G$ which is trivial away from $p$, but any section of $G$ which is trivial away from $p$ must be trivial, so every section of $F$ must be taken to the trivial section of $G$. So $Hom(F,G)_p=0$, but $Hom(F_p,G_p)=Hom(H,H)\neq 0$.
$Hom(F,G)_p\to Hom(F_p,G_p)$ fails to be injective
Let $V=X\setminus p$, and let $F=G$ be the extension by zero of the constant sheaf $H$ on $V$ (i.e. it's the constant sheaf $H$ on $V$ and $F(U)=0$ if $U\not\subseteq V$). Then $F_p=G_p=0$, but $Hom(F,G)(U)$ contains a natural copy of $Hom(H,H)\neq 0$ for any $U$, so $Hom(F,G)_p$ contains a natural copy of $Hom(H,H)\neq 0$, so it's not zero.