All nine points, and what each of the three runs says
The square is (0, 0), (4, 0), (4, 4), (0, 4); the midpoints are (2, 0), (4, 2), (2, 4), (0, 2); and (2, 2) is the centre.
point definition chain wrapping boundary oracle
(0, 0) vertex yes yes yes
(2, 0) on an edge no yes yes
(4, 0) vertex yes yes yes
(4, 2) on an edge no yes yes
(4, 4) vertex yes yes yes
(2, 4) on an edge no no yes
(0, 4) vertex yes yes yes
(0, 2) on an edge no no yes
(2, 2) inside no no no
totals 4 6 8
the wrapping walk, in order:
(0, 0) -> (2, 0) -> (4, 0) -> (4, 2) -> (4, 4) -> (0, 4) -> back to (0, 0)
The walk is the explanation. Wrapping starts at (0, 0), the lexicographically smallest point, and looks for the point that turns furthest clockwise. Along the bottom edge, (2, 0) and (4, 0) are tied at determinant zero, and the scan's comparison keeps whichever it reached in a position it cannot improve on, which here is (2, 0). The same thing happens at (4, 2). On the way back along the top and down the left side the ties resolve the other way, so (2, 4) and (0, 2) are skipped.
Nothing geometric distinguishes those two pairs from the other two, and here is the argument that settles it. Reflecting the whole input in the line y = x maps this point set onto ITSELF — it swaps (2, 0) with (0, 2) and (4, 2) with (2, 4) and fixes the rest. So the reflection is a symmetry of the input, and any answer determined by the geometry alone would have to be carried onto itself by it. Reflecting the six points the wrapping returned gives (0, 0), (0, 2), (0, 4), (2, 4), (4, 4), (4, 0), which is a different set. The output is therefore not decided by the geometry, and the only other thing in the algorithm is the order the scan walks in.
For a faded rehearsal, predict the three counts for the same square with midpoints but WITHOUT the centre point — eight points instead of nine. The supplied first move is that the centre is neither a vertex nor a boundary point, so removing it cannot change any of the three sets. Say what the three counts become, then say what happens to the 18 pushes and 12 pops, which do change.