This is an alternative, less invasive strategy to D11599.
The original committ was reverted due to serious issues (See rBceb612a79c7c).
The solution now is to use the same operands as ID_RECALC_GEOMETRY
with ID_RECALC_GEOMETRY_DEFORM and checking which flag was used in
BKE_object_eval_uber_data.
A similar solution is seen in BKE_movieclip_eval_update,
BKE_scene_eval_sequencer_sequences and BKE_sound_evaluate.
Note:
To read the components used in id->recalc, it was necessary to change the id_recalc_tag of the GEOMETRY component.