No, it doesn’t have to. Custom domain does not tied to any instances (PDS) you reside in. The way custom domain handle works is for the verification itself.
The first time you’ve created your account to that instance, you’ve been given to a specific instance name to your handle. For example “user.bskysocial.world”. With the “user” acts as a subdomain and “bskysocial.world” as a PDS name.
You can learn more of how the handles work in ATProto here:
https://atproto.com/specs/handle
@Blaze @ruud
You can still change your handle to however you’d like without having to migrate it to another PDS using your own domain name.
Every component in the ATProto (Handles, PDS, AppView, Relays, etc) are separated from each other and can be run individually, without having to cause massive interference to one another. I kind of think of it as a “Microservices” in ATProto, whilst ActivityPub is more like a “Monolithic” one.