The subset does not leave empty levels. Why this is so is that it is a feature. Think about it as your factor levels determine the possible / potential categories. If you take only a subset of these things, the possible categories of a thing do not change; your subset simply does not contain them.
, . ?droplevels.