The FLatentActionInfo struct needs to have a CallbackTarget or the ProcessLatentActions function will never process the Latent action. Ideally it should have a UUID too.
Adding
actionInfo.CallbackTarget = this
will make it work. You would then call something like
PlayDynamicForceFeedback(1.f, -1, true, true, true, true, EDynamicForceFeedbackAction::Start, actionInfo);
to start the rumble - in either BeginPlay or when the rumbling needs to start.
With the Start call in the update can be used to adjust the rumble.