My domain registrar has a top level SOA record for my domain
No, it does not, in general. Your domain name registrar is your gateway to the registry sponsoring the specific TLD or suffix where your domain name is registered.
As such, your domain name registrar has nothing to do with your nameservers. When you create a domain through it, or later update it, you provide the name of the nameservers to use (and sometimes their IP addresses too), and the registrar forwards that information to the registry. THIS IS ALL.
Then the registry publish your nameservers as NS
records for your domain name on the registry authoritative nameserveer. THIS IS ALL. There is no SOA records there.
Of course, IF the registrar is ALSO your DNS provider then it controls and manage the nameservers for you.
The DNS provider you use (be it the registrar or any other third party) tells you which nameservers names to use. It manages the content of the zone. The zone related to your domain has NS
records, one SOA
record and other records.
If you change DNS providers, you change the nameservers listed as authoritative nameservers. This will as a consequence change the SOA record but just because the new set of authoritative nameservers will serve a new zone, with new and different records, and among all of them a new SOA
record.