hvplot(geo=True) argument maps XY coordinates to incorrect latitude coordinates

I have a raster in a UTM CRS projection for the Southern hemisphere (Northern beaches, Australia). Now when I’m plotting this data using the hvplot.xarray with argument geo=True the y coordinates [meters] are mapped to Northern hemisphere coordinates [lat] as lat = 90 + (-y), whereas it should simply be lat = -y. Which function is triggered by geo=True that infers the coordinates from XY to lon/lat?

I’m not very familiar with hvplot yet, so I wasn’t sure if this is expected behaviour or a bug. If it’s a bug I’ll open an issue on the GH page.

Objective

Overal objective is to overlay the vector data (shoreline) on top of the raster (ndwi). I’m

ALL software version info

python==3.10.8
hvplot.version # ‘0.8.2’
holoviews.version # 1.15.3

Complete, minimal, self-contained example code that reproduces the issue

import xarray as xr
import cartopy.crs as ccrs
import geoviews as gv
import holoviews as hv
import hvplot.xarray
import geoviews.tile_sources as gts
import geopandas as gpd

ndwi = xr.open_dataset("https://s3.eu-central-1.amazonaws.com/floris.calkoen.open.data/narrabeen_ndwi_2023-01-24T00%3A02%3A21.tif", engine="rasterio")
shoreline = gpd.read_file("https://s3.eu-central-1.amazonaws.com/floris.calkoen.open.data/narrabeen_shoreline_2023-01-24T00%3A02%3A21.geojson")

ndwi.rio.crs == shoreline.crs  ## true 

utm_zone = shoreline.crs.utm_zone
southern_hemisphere = True if utm_zone[-1] == "S" else False
utm_code = int(utm_zone[:-1])
utm_crs = ccrs.UTM(utm_code, southern_hemisphere)  # why cartopy.crs.UTM() doesn't handle utm zone strings?

shoreline_plot = gv.Path([shoreline], crs=utm_crs)
ndwi_plot = ndwi["band_data"].squeeze().hvplot(x="x", y="y", geo=True, crs=utm_crs)

shoreline_plot * gts.EsriImagery  # this seems correct 

ndwi_plot # see how the XY coordinates are converted from XY UTM zone 56S to latitudes in the northern hemisphere (90 + (-y)) 

shoreline_plot * ndwi_plot  # therefore the overlay doesn't work