By that definition would you call Firefox before version ~40 a javascript app? It obviously isn't despite using XUL and the elements implicit in that. The same is true of Thunderbird.
The technology in use is called XPFE. For a full (graphical) overview, see http://mb.eschew.org/1
It is different sorts of XML (XBL, XUL, RDF, DTD) controlled via Javascript and styled by CSS running on top of a C++ runtime. The components, the runtime exposes, can be accessed directly from within Javascript. Most of the application specific stuff is written in the XML+JS+CSS domain. There may be the one or other app-specific support library, but in the end, they all run on top of the same xulrunner binary.
The underlying rendering engine is in C++, of course. As is the JS implementation.
Which is to say, exactly like Electron. The only relevant difference that I can see between XUL and Electron is that the former had its own non-HTML-based markup language for UI.
Oops! I'm not actually familiar with the Thunderbird source's organization, so I just went by what was marked as owned by Thunderbird in that wiki page I linked.
In practice, Thunderbird is all of comm-central sans suite/ and chat/. calendar/ used to be Sunbird [a standalone calendar client], but those people decided to channel all of their resources into Lightning instead, so all of the Sunbird-specific stuff was ripped out.
Lightning is strictly speaking an independent project from Thunderbird, but it is far and away the most-used extension in Thunderbird and parts of it (particularly the backend) have essentially moved into the TB distribution for various policy reasons. There's some other stuff that's basically build system, release engineering, or testing gunk, but that stuff is mostly Python anyways and won't impact the SLOC metrics too badly.
Mere line count does not tell a truth, simply because you can do more thing with a SLoC in a language than another, also sometime to be on certain platform you need an enormous amount of code only for them that's have no other purpose that boilerplate for a platform.
Most of the backend is written in C++. This is the mail protocol suite, the message database store logic, most of the internal account glue stuff, and even the bits that drive the main message listing (although that's moving to JS because Mozilla is killing off nsITreeView, a move which I fear for the performance implications of). The parts that are in JS are most of the code that drives the actual display. Of the MVC for the display, essentially the main model and view are both implemented in C++ whereas the controller is JS.
The largest pieces of the backend that are in JS are the RSS functionality and gloda (one of the search backends), as well as half of the MIME parser.