There is a subtle but important distinction between “shipping coverage” (the countries you have included in your shipping profiles/rates) and “active markets” (the countries/regions that are enabled in your Markets settings).
The shipsToCountries field on the Shop object will return any country/region that has a shipping rate configured—regardless of whether it is currently part of an active market.
Because the checkout process itself only displays shipping options for countries belonging to active markets, you’ll see a discrepancy if you have a shipping rate for a country but have not included that country in an active market.