On the other hand, Java projects are better tested and more portable in my experience.
More portable, yes, but it is complicated. Java runs on a VM, so it gets portability from here, if your platform runs the VM, it will run the project. However, as a user, I still had issues with using the right VM on the right version, OpenJDK and Oracle JDK are not completely interchangeable. Messing up with classpath and libraries too. Not so different from C actually, but at the JVM level instead of the platform, the advantage being that it is easier to switch JVM than to switch platform.
And most game consoles can’t run Java so they had to totally rewrite it there.
But they don’t have JREs even if they have the right kind of CPU in them.