Hi @johnreece,
I've never done that before as I've never met that need from any of my customer but it is doable, first you'll have to get all site collections from your tenant, then site admin users and finally populate a SharePoint list.
I'll give you the first two steps as they are the tricky part, up to you to design the last one.

This flow, retrieve all sites collection in a tenant and retrieve all users who is admin for each.
1st request: Get site collection list
Url: URL of your tenant SharePoint admin center (https://yourdomaine-admin.sharepoint.com)
uri: /_api/web/lists/getbytitle('DO_NOT_DELETE_SPLIST_TENANTADMIN_AGGREGATED_SITECOLLECTIONS')/items
2nd request: Get all site admin users
url: SiteUrl dynamic content from Parse JSON
uri: /_api/web/siteusers?$filter=IsSiteAdmin eq true
Note: Owner of this flow must be SharePoint administrator in order to access SharePoint admin site.
To generate Parse JSON required schema, run first http request and paste raw outputs in Parse JSON "Generate from sample" tool.
______________________________________________________________
If I have answered your question, please Accept the post as solution.
If you like my response, please Thumbs Up.