Skeletal Control uses a stale transform if actor transform changed

I looked at FAnimInstanceProxy::PreUpdate. It is being called before the AnimBP event graph update. That is why any changes to the actor transform made in the event graph are delayed by 1 frame.

Originally I tried changing the actor transform in the Actor tick, however the Actor tick seems to be called AFTER the animation update. Here is a sample UE 4.18 project where the actor tick is changing the actor transform between 2 locations, while the AnimBP is fixing the root bone to the origin. There is a 1 frame glitch after each time the actor transform changes.

https://drive.google.com/open?id=1ZaJYhPw_-l98fDh9717LOWVm4oaPJsYy

Is there any virtual function on UAnimInstance that I can override in a subclass to insert code before the FAnimInstanceProxy::PreUpdate is called? Unfortunately, UAnimInstance::PreUpdateAnimation() is not virtual. Nor is UAnimInstance::UpdateAnimation().
UAnimInstance::NativeUpdateAnimation() is virtual, but it is called after the PreUpdate.