PreGameplayEffectExecute
Overriding PreGameplayEffectExecute in your class derived from UAttributeSet will allow you to modify incoming Gameplay Effect magnitudes before they are applied. This is a great place to modify incoming transient attributes like Damage, Healing, etc.
How to check the incoming attribute type
UProperty *DamageProperty = FindFieldChecked