I'm by no means an expert on this, but I dug into android memory management quite a bit when trying to optimize Shadowgun Deadzone performance. I don't think any of the apps measure memory used by native code. There's an adb command that will show you native memory use for an app, but I never dug that far into it. Again, I'm not a developer, but I assume your missing memory is being used by used by the parts android running native code. What's not clear to me is how android handles how much native memory an app can use. I got over my gaming fixation, but I'm still curious about this. If anyone can shed some light on this, I'd love to hear it.
I'll probably just return it for something that lets me use the amount of RAM advertised.