I wrote a PyQt5 program using QDockWidgets on Windows. Selecting items in a QList in the central widget causes a widget to be placed in the right docking area that allows me to edit that item and as I select different items in the QList the widget gets replaced. If I move the dock widget out into a floating widget or a different dock area and then select a new item then the right dock area gets a new widget and the dock widget I popped out remains. This is exactly the behavior I want.
I then ran this program on Ubuntu and if I move the dock widget into a floating widget then select a new item this causes the floating dock widget to dissapear. If I move the dock widget into a different dock and leave it there or move it into a floating dock then it will persist just like it did on windows.