I believe this is due to the fact that we need to inform Maven that it must build the parent pom and sub-modules when doing a building request. MavenFacetImpl.java#309 accepts some additional parameters, including one call that accepts a List<PomFile> that may allow us to get a more accurate building result.
Unfortunately I think that this means we will need to implement the project building cache a little earlier than I expected.
For now, let's just get it working without caching - it will be slow, but we can see how it goes and try to find performance optimizations.
I'll work on this later tonight or tomorrow.