Not a very elegant way, but I think it will work.
with_variable(
'maxval',
array_max(
overlay_intersects(
'point_layer',
"id"
)
),
array_filter(
overlay_intersects(
'point_layer',
$geometry array("id", $geometry)
filter:=),
"id" @element[0] = @maxval
)[0][0][1]
)