I'm just going by the documentation

https://doc.qt.io/qt-5/qobject.html#destroyed

destroyed is emitted while the object still exists, debugging shows it still has the parent pointer set up correctly.

Children are destroyed before their parents in my setup but in any case I'm having this issue with leaf objects