Okay. Looks like I was able to solve it by putting the following code in BeginPlay() instead of the constructor. And bonus! The debug message works again!
//DEBUG
check(ThirdPersonCameraComponent != nullptr);
FVector pos = GetActorLocation();
FVector campos = ThirdPersonCameraComponent->GetComponentLocation();
const auto debug_msg = FString::Printf(TEXT("Eagle X = %f, Y = %f, Z = %f; Camera X = %f, Y = %f, Z = %f"), pos.X, pos.Y, pos.Z, campos.X, campos.Y, campos.Z);
GEngine->AddOnScreenDebugMessage(-1, 5.0f, FColor::Blue, debug_msg);
//Detach the camera so it doesn't bounce with the player
ThirdPersonCameraComponent->DetachFromComponent(FDetachmentTransformRules::KeepWorldTransform);