It appears that tiles from the ESRI Nat Geo World Map are retrieved for a different part of the world and transposed when they are assembled. My guess is that the x/y tile coordinates are flipped:
library(basemaps)
data(ext_eur, package = "basemaps")
basemap(ext_eur, "esri", "natgeo_world_map")
#> Warning: Transforming 'ext' to Web Mercator (EPSG: 3857), since 'ext' has a
#> different CRS. The CRS of the returned basemap will be Web Mercator, which is
#> the default CRS used by the supported tile services.
#> Loading basemap 'natgeo_world_map' from map service 'esri'...

Created on 2025-11-25 with reprex v2.1.1
It appears that tiles from the ESRI Nat Geo World Map are retrieved for a different part of the world and transposed when they are assembled. My guess is that the x/y tile coordinates are flipped:
Created on 2025-11-25 with reprex v2.1.1