Hmm... given any set $C \supset D$, $g: C \to D$ only preserves unions and inclusions (as $g(C) \cap g(D)$ can be $=\emptyset$ even when $C \cap D \neq \emptyset$) but their preimages preserves unions, intersections (hence differences), and inclusions. So in order to avoid the case $g(C) \cap g(D)=\emptyset$ it means $g$ is injective.
So going back to the current problem, since $f$ is injective, intersections and hence differences $A-B=A \cap B^c$ is preserved, hence $f$ preserve set differences...