There should be no noticeable overhead.
If you save everything under the same type, you can filter the results by subtype by adding the "class" field to your objects and adding a condition to this field in your search.
A good reason to model your different classes in different ES types is a conflict between field types with the same name.
, "car" "color", , "van" "color", . ( , , ).
Elasticsearch ( ) . , "" "" , . . , , .
Elasticsearch - , .