FWIW, while I think we would’ve been better off using something other than the myshopify.com domain as a permanent identifier, you can rely on the myshopify.com domain as a stable identifier for a shop.
Our Ruby reference implementation associates the myshopify.com domain with the Admin API token returned via OAuth. You can then use the dest claim in the JWT (which contains the myshopify.com domain) to lookup the correct Admin API token and use it to make requests on behalf of the shop. (This assumes that you’re not using “online tokens”, which are tied to a particular user, in which case you should use the sub claim which contains the user ID.)