Sure it has, because it doesn't matter if it is open source or not, if it is a stable API described on the NDK documentation it is not allowed.
Something that termux guys are having some issues to swallow, regarless of Linux being the kernel, it is not allowed to do what they want, wrapping Java APIs via JNI is the only allowed way.
"undocumented" has nothing to do with it
there is a sandbox, syscalls are checked by seccomp and those not explicitly permitted will result in termination of the application
it doesn't care where the syscall comes from, be that libc, golang style, or calling svc #0 yourself
additionally: the kernel is open source... there are no "undocumented" syscalls
this also has nothing to do with the original point