The firestore docs do not have a detailed discussion of the trade-offs associated with using subcategories and top-level collections, but note that they are less flexible and less "scalable." Given that you sacrifice the flexibility of customizing your data in subcategories, there must be certain positive aspects to the mental structure as well.
For example, how does the time for a single-key firestore request in a large collection compare to getting all the elements from a much smaller collection?
Say we want to request a large collection of "People" for all people in the family unit. Alternatively, break down family data primarily into family units.
People → People: {family: 'Smith'}
against
Families → Family: {Name: 'Smith'} → People → People
I would expect the latter to be more effective, but is this true? Are there any large O scores for everyone? Any other benefits of subcategories (e.g. for transactions)?
source
share