Drake sets the VTK camera's projection matrix directly from Drake's intrinsics.
This matrix was not copied from camera to camera, leading to erroneous results.

--- Rendering/Core/vtkCamera.cxx
+++ Rendering/Core/vtkCamera.cxx
@@ -1537,6 +1537,16 @@ void vtkCamera::ShallowCopy(vtkCamera* source)
   {
     this->ModelViewTransform->Register(this);
   }
+
+  if (this->ExplicitProjectionTransformMatrix != nullptr)
+  {
+    this->ExplicitProjectionTransformMatrix->Delete();
+  }
+  this->ExplicitProjectionTransformMatrix = source->ExplicitProjectionTransformMatrix;
+  if (this->ExplicitProjectionTransformMatrix != nullptr)
+  {
+    this->ExplicitProjectionTransformMatrix->Register(this);
+  }
 }

 //------------------------------------------------------------------------------
@@ -1589,6 +1599,24 @@ void vtkCamera::DeepCopy(vtkCamera* source)
     this->UserViewTransform->DeepCopy(source->UserViewTransform);
   }
 
+  if (source->ExplicitProjectionTransformMatrix == nullptr)
+  {
+    if (this->ExplicitProjectionTransformMatrix != nullptr)
+    {
+      this->ExplicitProjectionTransformMatrix->UnRegister(this);
+      this->ExplicitProjectionTransformMatrix = nullptr;
+    }
+  }
+  else
+  {
+    if (this->ExplicitProjectionTransformMatrix == nullptr)
+    {
+      this->ExplicitProjectionTransformMatrix =
+        static_cast<vtkMatrix4x4*>(source->ExplicitProjectionTransformMatrix->NewInstance());
+    }
+    this->ExplicitProjectionTransformMatrix->DeepCopy(source->ExplicitProjectionTransformMatrix);
+  }
+
   if (source->ViewTransform == nullptr)
   {
     if (this->ViewTransform != nullptr)
@@ -1757,6 +1785,8 @@ void vtkCamera::PartialCopy(vtkCamera* source)
   while (i < 3)
   {
     this->FocalPoint[i] = source->FocalPoint[i];
+    this->FocalPointShift[i] = source->FocalPointShift[i];
+    this->NearPlaneShift[i] = source->NearPlaneShift[i];
     this->Position[i] = source->Position[i];
     this->ViewUp[i] = source->ViewUp[i];
     this->DirectionOfProjection[i] = source->DirectionOfProjection[i];
@@ -1785,8 +1815,15 @@ void vtkCamera::PartialCopy(vtkCamera* source)
   this->FocalDisk = source->FocalDisk;
   this->FocalDistance = source->FocalDistance;
   this->EyeSeparation = source->EyeSeparation;
+  this->UseExplicitProjectionTransformMatrix =
+      source->UseExplicitProjectionTransformMatrix;
 
   this->ViewingRaysMTime = source->ViewingRaysMTime;
+
+  this->ExplicitAspectRatio = source->ExplicitAspectRatio;
+  this->UseExplicitAspectRatio = source->UseExplicitAspectRatio;
+  this->NearPlaneScale = source->NearPlaneScale;
+  this->ShiftScaleThreshold = source->ShiftScaleThreshold;
 }
 
 //------------------------------------------------------------------------------
