There is an issue with the way input / acceleration is applied.
At 0,0,1 there is a very low angular distance between the capsule rotation and acceleration but the farther you rotate away from 0,0,1 the higher the angular distance between the capsule rotation and acceleration.
UpdatedComponent->GetComponentQuat().AngularDistance(Acceleration.ToOrientationQuat());
This messes with the logic required to achieve ‘turn in a circle’ movement similar to Mario Odyssey or BOTW as it requires comparing the two as so:
const float AccelDiff = FRotator::NormalizeAxis(FMath::RadiansToDegrees(FMath::Acos(Direction | Acceleration.GetSafeNormal())));