@dafoink
When an peripheral is added there is an option to start, and to save and start. The save and start saves the usb port it is connected to. The start starts the peripheral, but forgets it as soon it is disconnected.
The save and start does do a check that if a specific peripheral has been saved at usb1, removed and attached again, it still is the same device.
The main reason this is implemented is that a lot are using for example FTDI. or Arduino's and attach multiple of them at the same time. By saving the mapping it kinda tries to keep the attached devices apart from eachother. It is not completely fool proof.
If the mapping is usb2, and after reboot the mapping becomes usb1, it has to be re-added. So it depends on mapping availability.
I know it is not wise to map the savings to the specific port names and it's better to be mapped to the usb bus locations and also keep the device's serial numbers (not only vid and pid) where possible. It is on the list ;).