Hi. Thanks for the report.
I'm going to say wontfix here.
In the normal case this works as expected. I'm adding a new object for a foreign key; I click the same + button; I can't add two objects to the same FK, so the popup is replaced; meanwhile, if I click the + for a second related field a new popup is created (since I can add two different objects to two different FKs).
The case for self
is more complex, since in principle I could add a chain of models for the same FK, but each on a different instance. However, without a candidate implementation it's not clear it's worth additional complexity to the popup implementation to handle that case. (You can simply build the chain in the other direction.)
Happy to reopen if you want to work on an implementation that's not too complex though!
Thanks.