I think the extra wrinkles here make this question not a duplicate of other centering questions.
I would like to use the approach of @BSharp given here for a self-closing message box:
var w = new Form() { Size = new Size(0, 0) };
Task.Delay(TimeSpan.FromSeconds(10))
.ContinueWith((t) => w.Close(), TaskScheduler.FromCurrentSynchronizationContext());
MessageBox.Show(w, message, caption);
However, in my two-monitor setup, the application is running on the right monitor and the message box is being displayed on the left monitor. How to get it to display in the same location but on the right monitor?