Пока не оч понятно разница от обычного исполняемого кода
Разница существенная. Нативный код динамически не меняеться в зависимости от путей исполнения, стало быть все это можно статически проанализировать, что Apple и делает через процесс review. Но дело не в этом, а скорее в том, что сторонний JIT не в состоянии обеспечить надежность. Кроме того еще и зависит как этот JIT используется и к какому API имеет доступ. Например можно подглючить родной для Apple JSC, но он все равно будет в jitless режиме если только это не WKWebView