It's written in Java and shipped as dex bytecode but Android has full support for compiling that to native code. It can do full ahead-of-time compilation on the device. The default upstream configuration is to start with JIT compilation, with PGO AOT based on that done later on.
Yeah, I know. It's a very small portion of the overall code though, with the exception of the Chromium WebRTC implementation which is quite large. They need to get a bit better at keeping that up-to-date on a regular basis too.
Sure - but you can't just load an arch specific APK into the wrong arch emulator, which was my original question - does signal have (official) APKs that work on x86_64? and the answer is yes, they do, because even though it's not pure Java they chose to target that ABI.