You need to use the AddDynamic macro for dynamic delegates, the macro simply resolves to a call to the __Internal_AddDynamic() method of a dynamic delegate, but unfortunately Intellisense usually won’t suggest it to you.
Here’s sample usage from CharacterMovementComponent.cpp in the engine source:
UpdatedComponent->OnComponentBeginOverlap.AddDynamic(this, &UCharacterMovementComponent::CapsuleTouched);