The thread border gateway (Apple TV, HomePod, Google Nest Speaker, etc) sends an IPv6 router advertisement to the network for the Thread IP space. Multiple border gateways can advertise the same IP space for redundancy.
I have/had a segmented network, so I made sure my router accepted this route so that devices on different networks could communicate with the Thread devices. It worked, usually. However, I ran into some challenges with the reliability of communicating from my phone to various devices. I never quite got mDNS reflection 100% correct, and I strongly suspect that's my problem. If you look at an mDNS entry for a device, you'll see some advertise all their IPv6 addresses including link local (fe80::). I suspected some clients were dumb, trying the first IP they found, and giving up when it didn't work. I was working on modifying the golang mdns-reflector project to filter these entries. I had some success, but I haven't finished.