Простое исправление заключается в добавлении той же функции, которую я использую для создания точек к каждому отображаемому многоугольнику, чтобы гарантировать, что независимо от того, где на карте пользователь нажимает, строится точка.
for (let i = 0; i < allPolygons.length; i++) {
let currentPolygon = new window.google.maps.Polygon({
paths: allPolygons[i],
strokeColor: "#FF0000",
strokeOpacity: 0.8,
strokeWeight: 2,
fillColor: "#01b693",
fillOpacity: 0.35
});
currentPolygon.addListener("click", e => addPoint(e));
currentPolygon.setMap(googleMap.current);
}