This might be an issue with geom_sf or an issue with how ggmap sets up the dataframe for ggmap or something else. I'm not sure, so I'm submitting it here and to ggplot2
library(sf)
library(ggmap)
nc_map <- get_map(c(-81, 35), zoom = 6)
#> Map from URL : http://maps.googleapis.com/maps/api/staticmap?center=35,-81&zoom=6&size=640x640&scale=2&maptype=terrain&language=en-EN&sensor=false
ggmap(nc_map)

nc <- st_read(system.file("shape/nc.shp", package="sf"))
ggplot(nc) + geom_sf()

ggmap(nc_map) + geom_sf(data = nc)
#> Error in FUN(X[[i]], ...): object 'lon' not found
This might be an issue with
geom_sfor an issue with how ggmap sets up the dataframe for ggmap or something else. I'm not sure, so I'm submitting it here and toggplot2