I’m not an Android dev, but from my understanding:
The Syncthing binary needs to be executable, but Android security only allows executable files in the system/app data partition, not the storage partition.
Without root, you have no access to that partition to place the Syncthing binary.
I don’t know how the Syncthing binary from inside the Android App differs from the arm build which you can get from github but I think the arm build is just plain arm without android optimizations / corrections.
Partially correct. Here is the build script we use for Android. It uses CGO and the native Android NDK to solve some nasty issues such as DNS resolution.