At least Windows and Linux have supported hot plug PCIe for ages.
Although hardware PCIe slot register must support the optional presence detect bits. Also slot capabilities register must report optional hotplug support and surprise removal support.
I guess thunderbolt has those features supported by default.
IIRC, the apple thunderbolt ethernet adapter violates thunderbolt spec and relies on the adapter specific driver for hot-plug when it's supposed to be a generic interface... this is a problem in other OSes running on mac hardware even.