Yes, I think so.
A compiler parses input (text) in one language and outputs code in another language. It generally requires a parser, some intermediate representation, and a (code) generator. There may be optimization phases that analyze the intermediate representation for possible efficiency improvements. In some sense a compiler is a big de-serializer and serializer coupled together by an intermediate data structure.
A transpiler aka source-to-source compiler is a compiler.
(Please note that source-to-source is a 100% misnomer, it really should be text-to-text, as not all text is source — especially compiler output that is text! Source is only that which must be protected because it cannot be regenerated.)