the short answer is: everything in your last paragraph is already implemented. So yes: it only populates areas, where the density of OSM-buildings seems to be too low based on parametrized heuristics.
Currently I am changing the whole land-use implementation. Lit zones is already done and will give fewer on/off street lighting annoyances plus thereby hopefully fewer residuals. The next step is to drop land-use zones as mapped in OSM and instead create city blocks (using simple cycles in a street network graph), which then get a land-use type assigned. This is especially important in city/town like zones, such that all buildings in a block get the same height/levels (unless OSM values tell otherwise by building). Right now city zones actually look rather odd compared to real life. And when this is available we can work with more aligned textures instead of the once available right now.
When this is done (and I have no time plan due to paid work and family), then I will return to building generation and make it more intelligent in dense areas (residential family house type of zones are easy and therefore "done").