My thinking goes like this: since the $4$ from $A$ is already used, the problem can be rephrased as the number of surjective functions from $A_{new}=\{1,2,3\}$ to $B=\{a,b,c\}$. This can in turn be rephrased as the number of injective/bijective functions from $A_{new}$ to $B$ since the sets are of the same size.
This gives that the number of surjective functions from $A$ to $B$ is $3!=6$. However, the answer should be $12$. Why?
You need to count the functions where $f(\{1,2,3\})=\{a,b\}$ as well as $f(4)=c$. Of the eight functions from $\{1,2,3\}$ to $\{a,b\}$, there are two which are not surjective. This accounts for the six functions missing in your count.