Delete upstream_ after OnPublishDone() in MoqtRelay.

This is to avoid incorrectly sending an UNSUBSCRIBE when listeners are removed. Interop w/ Meta no longer crashes.

PiperOrigin-RevId: 836814717
diff --git a/quiche/quic/moqt/moqt_relay_track_publisher.cc b/quiche/quic/moqt/moqt_relay_track_publisher.cc
index ef6802e..6e2c722 100644
--- a/quiche/quic/moqt/moqt_relay_track_publisher.cc
+++ b/quiche/quic/moqt/moqt_relay_track_publisher.cc
@@ -205,9 +205,13 @@
       }
     }
   }
-  for (MoqtObjectListener* listener : listeners_) {
-    listener->OnTrackPublisherGone();
+  is_closing_ = true;
+  while (!listeners_.empty()) {
+    (*listeners_.begin())->OnTrackPublisherGone();
   }
+  upstream_ = quiche::QuicheWeakPtr<MoqtSessionInterface>();
+  DeleteTrack();
+  // No class access below this line!
 }
 
 void MoqtRelayTrackPublisher::OnStreamFin(const FullTrackName&,