By your definition, webassembly doesn't use a JIT, because it doesn't use any runtime information.
In practice, the JIT/AOT distinction boils down to whether compilation time counts as part of execution time, or not. If cycles you spend optimizing your code are cycles you don't spend running it, you make different design decisions.
(Note also that the Emacs native compiler is built using libgccjit.)