In your custom character class constructor:
AYourCharacter::AYourCharacter(const FObjectInitializer& ObjectInitializer)
: Super(ObjectInitializer.SetDefaultSubobjectClass<YourCustomCharMovementCompTemplateClass>(ACharacter::CharacterMovementComponentName))
{
}
I believe you’ll also have to use GENERATED_UCLASS_BODY() macro in your class’ header file instead of GENERATED_BODY(), otherwise you won’t be able to use FObjectInitializer in your constructor to set a different class for subobjects.