Nim is a compiler with multiple codegen backends. Transpilers, or source-to-source compilers, are tools that read source code written in one programming language, and produce the equivalent code in another language that has a similar level of abstraction.
The "equivalent code" and "similar level of abstraction" is the key point here. Existing nim backend languages (C, C++, JS) are nowhere near "similar level of abstraction". Well you could argue C++ is somewhat similar, but no, the C++ code generated by nim is very low-level comparing to nim or hand-written C++ code. It doesn't have classes, templates, `#ifdefs`, even header files, it is locked to a single platform/architecture, it is almost impossible to edit it manually. Another way to think about it is imagine if nim introduced another backend which spits out native binaries, and this backend would reside in the nim binary as C/C++/JS backends do. Does nim suddenly become the compiler now? Or does is become a Schrödinger's compiler-transpiler depending on which arguments you run it with? :) Obviously, it still remains a compiler, just like it is now.
