Fewer layers between machine and app -- just Gonk (linux layer) and Gecko (application runtime). With Android, you have all the Android runtime in between.
Both are built upon Linux. So we can say that they're pretty much equivalent at that level.
Then there is a runtime and libraries providing common functionality above that. Again, we have pretty much the same in both cases.
Then we have the apps running on top of that, making use of the functionality of the two lower layers. Once again, it's a similar situation in both cases.
I really don't see the differences that you claim are there.
(In any case I would like to see more native code apps for mobile devices, as they are naturally more resource-constrained.)