How to force the hair mesh to follow animation?

Ok. I’d try this next then.

In your .h file, define a USceneComponent reference:

UPROPERTY(EditAnywhere)
	USceneComponent* USC_HeadSocket;

Attach that to your mesh socket in the costructor (assuming your socket as defined in your skeleton is called “headSocket”):

USC_HeadSocket = CreateDefaultSubobject<USceneComponent>(TEXT("myHeadSocket"));
USC_HeadSocket->SetupAttachment(GetMesh(), TEXT("headSocket"));

Then in your PostInitializeComponents (or any other place that’s not your constructor) attach the hair mesh to the scene component:

Hair->AttachToComponent(USC_HeadSocket, FAttachmentTransformRules::SnapToTargetIncludingScale);

If even this does not work, then you can probably switch approach defining your character thorugh a MasterPoseComponent instead (Working with Modular Characters | Unreal Engine Documentation)