Great write up! I've made the same mistake of having too many subclassed entities, and realising my queries getting slower because my indexes were not being used.
I think Apple should mention this caveat in their official documentation. I'm sure many folks have been bitten by this issue.