I believe I know what this issue is. The issue is that the C# bindings to the native methods need the following attribute added above, so this would include isUnderage:
[return MarshalAs(UnmanagedType.I1)]
The reason why you're seeing what you're seeing, is that bool is a 32-bit type in C#, while in C++ it's an 8-bit type. So the C# wrapper is reading another 24-bits of junk, which on the balance of probabilities, with return a true overall since there'll likely be a stray bit in the registers.
This is a bug in the Apple Unity Plugins that impact any method that returns bool. It specifically only manifests on Intel chips.
Topic:
Graphics & Games
SubTopic:
GameKit