systemd's "predictable interface names" not being predictable

That means hardware routing on this machine depends on whether anything is plugged into Thunderbolt socket. Remember, Thunderbolt's logical interface is PCIe, so you essentially plugging another device into the computer's system bus. In your Mac it happened that you plugging somewhat in the middle of the system bus, so it "pushes" everything past it further. This is how Apple laid out hardware bus; instead of reserving some pool of device numbers for each Thunderbolt port, or even counting each port as PCI bus on its own, they made these "ports" to appear or disappear in the system, shifting everything past them in some internal enumeration.

I've encountered the same issue with the PC, where network card device number depended on the condition of built-in soundcard: if sound card is enabled in BIOS Setup, it took NICs device number, and NIC itself received next in sequence. This is how hardware is laid out on that machine. Questions to the HW designer, why they didn't make Setup switch state of the "device in the virtual slot", and made the slot itself to appear or disappear.

Systemd's scheme has its advantages, but it depends exactly on device path, which for PCI is its device number and function; so, if device number changes, systemd thinks this is another card. So this scheme isn't relevant for environments where device number could change, so USB and Thunderbolt are particular places where it may fail.