ApplyWorldOffset not called on ActorComponents

I am trying to update a set of points my UActorComponent is storing. I have overriden the ApplyWorldOffset method:

virtual void ApplyWorldOffset(const FVector& InOffset, bool bWorldShift) override;

However, this is not called when the world is offset. This is because in AActor::ApplyWorldOffset it can be seen the method is only called on the scene components:

void AActor::ApplyWorldOffset(const FVector& InOffset, bool bWorldShift)
{
    // Do not shift child components
    if (RootComponent != NULL && RootComponent->AttachParent == NULL)
    {
        RootComponent->ApplyWorldOffset(InOffset, bWorldShift);
    }
}

Is this the intended behaviour? In which case, why is the method declared in UActorComponent and the documentation say nothing about this?

Hello,

The fact that the method is only called on the scene components is reasonable, since they are designed to deal with offsets and have a transform. Thus, applying the transform logic to other components is not needed, because they don’t actually deal with object position change.

Though ApplyWorldOffset() is declared for UActorComponent, in the source you can see that it has an empty body:
virtual void ApplyWorldOffset(const FVector& InOffset, bool bWorldShift) {};
This way, the reason it is defined in UActorComponent is mainly for future development of the Engine, so that some other ActorComponent subclasses that deal with offset can be added the method can be overridden for them. This will preserve the existing hierarchy and effective typecasting.

Hope this helped!
Good luck!