Sorry, you were right about this building that the outline did not cover all of the parts. I fixed it and also with an extra multipolygon, which implies that it is no longer a working example for the problem.
Does this imply the intention of the renderer writers like you or Tobias Knerr for example, that outlines should not be used as building:part? I would really support this, because it make the tagging more clear. It makes it possible to the mapper to indicate the building height of the complete building on its outline for example and excludes min_height-Tags, which are obviously not property of the building itself in the most cases.
This is working as expected: (check out our wiki page about building outlines)
building:part not fully included in a building are ignored.
building:part inherits every building* tags from their parent building if they’re not overrided on the part (color, roof shape, height etc).
height is generated semi-randomly from way_id if neither specified with height tag nor with building:levels tag (we use 3m/levels).
building:part polygons are removed from the outline polygon they intersects unless the outline is tag with building:part=yes.
outline with building:part=no or building:parts=vertical/horizontal are ignored.
If you want the building outline to be fully used you can add building:part=true to its polygon/multi-polygon (i think this is a F4Map specific behavior).