I fixed the issue. Just a tiny change was missing…
auto BarrelRotation = Turret->GetBoneRotationByName(FName("barrel"), EBoneSpaces::ComponentSpace);
auto AimAsRotator = AimDirection.Rotation().Pitch;
auto DeltaRotator = AimAsRotator + BarrelRotation.Roll;
// Cap the RelativeSpeed to prevent strange behavior
auto DeltaRoll = FMath::Clamp<float>(DeltaRotator, -1, 1);
auto EleveationChange = DeltaRoll * MaxDegreesPerSecondBa * GetWorld()->DeltaTimeSeconds;
auto RawNewElevation = Turret->GetBoneRotationByName(FName("barrel"), EBoneSpaces::ComponentSpace).Roll - EleveationChange;
auto Elevation = FMath::Clamp<float>(RawNewElevation, -40, 0);
Turret->SetBoneRotationByName(FName("barrel"), FRotator(0, -90, Elevation), EBoneSpaces::ComponentSpace);