I don't have your data, so I can't test the code below, but the typical way to do this would be add a new "layer" to an existing plot, rather than to "add" together two separate ggplot objects.* EASTING and NORTHING need to have the same units as long and lat (or one needs to be transformed so that the units are equivalent) for this to work. I've put geom_path first, on the assumption that you want the map first and the contours overlayed on the map.
ggplot(AucklandCTPC, aes(EASTING, NORTHING)) +
geom_path(data = akl_df,
aes(x = long, y = lat, group = group),
color = "black", fill = "yellow", size = .5) +
stat_density2d(geom="polygon", aes(fill = ..level..), contour = TRUE) +
geom_point(colour = "green")
* There is, however, an R package called patchwork that allows you to lay out arrays of plots in a grid using the + operator, but that's a different thing than what you're trying to do here.