Well I'd say most of them are federated together, or at least those with a good amount of users. In practice you don't really get islands other than I guess troll instances that everyone has blocked.
And AFAIK as long as an instance isn't blocked by yours (and vice versa to be useful), you can follow a person on that unfederated instance and it should just work and get federated.
Yes, you can run a PDS, but while it might be true that you can self-host a relay with a couple thousand people (I didn't find anything about this in that blog post but I don't see why you couldn't), using a limited relay like that would mean this would not be a full/real instance of Bluesky (unless you disconnect from the rest of the network, but then why even bother)
So let's examine the problems with relays here:
Core Bluesky engineer's blogpost
In July this was "only" about 1TB, in mid November around 5TB, and now 16TB? That's insane growth if you want to self-host that, and will get expensive really fast really quickly, especially since fast storage is important here. I don't think many individuals have the resources to self host this just for themselves.
Another critical problem is that when more people self-host relays this has the wonderful side-effect of increasing the necessary computation power and network use, because Bluesky scales O(n^2 ) , which is really bad if you want anything close to a decentralized network.
So yes, it is true that it scales down terribly, this is by design. It's a step up from Twitter, because this time multiple corporations can control it instead of one, but it isn't that good either.