Let me summarize the information from the comments and links into a concrete answer.
- Yes, a homomorphism is expected to be a structure-preserving map. This also applies to homomorphisms of relational structures.
- It is possible to think of the objects in a concrete category as sets, and of the morphisms as certain maps between those sets. There are categories which are not concretizable, for example the homotopy category of topological spaces.
- The term "homomorphism" predates both the term "morphism" and the creation of category theory. Often now in mathematics people speak of a morphism of rings or groups or ..., i.e. they drop the prefix homo-. This influence of the general category-theoretic terminology helps explain how the confusion between morphism and homomorphism could arise.
- In a certain sense, even some mappings like continuous functions between topological spaces should not be called homomorphisms. The continuous functions are the morphisms of the category Top, which is known to be not regular.
Sorry for not citing with exact references, and for modifying the statements slightly to make them "stronger" than they initially were. One reason why I decided to write an answer is that people seem reluctant to give clear definite answers, and instead suggest that this is a soft question. I prefer clear statements when it comes to terminology, even if actual practice and historical reality might be much more complicated.
Let me also add some of my own remarks.
The remark that some authors write $\operatorname{Mor}_C(X,Y)$ instead of $\operatorname{hom}_C(X,Y)$ ignores the fact that important authors like MacLane or Awodey stick with $\operatorname{hom}_C(X,Y)$. They rarely use the word morphism, but use arrow instead when they talk about morphisms which are not necessarily homomorphisms. This is probably a wise choice, as people seem to have a hard time to make a distinction between the words homomorphism and morphism. I guess that's the reason why some authors write $C(X,Y)$ instead of $\operatorname{hom}_C(X,Y)$.
Some commenters questioned the usefulness of considering morphisms between first-order structures which are not functions. Funnily, some moments later they proposed that a certain class of injective partial functions would be "the right definition of morphism in model theory". But an injective partial function is not a function, just like a binary relation which is both left-total and right-total is not a function. Honestly, I don't know whether there exists a "right definition of morphism in model theory" (even assuming that we annotate the predicates as "equality like", "inequality like", "both" or "neither"), and whether this morphism would be a homomorphism.