Trace shows the Integrate it computes:
Trace[
 SurfaceIntegrate[Curl[vf, {x, y}], {x, y} \[Element] reg],
 _Integrate
 ]
(* Integrate[-x + 2 x y, 
    {x, y} \[Element] Line[{{0, 0}, {1, 0}, {1, 1}, {0, 0}}], 
    GenerateConditions -> Automatic] *)
The docs say (in dimension 
$n$):
For solid (of dimension n) and bounded RegionQ objects R, take the surface to be the region boundary (RegionBoundary[R]) and the normal orientation to be pointed outward. 
So it's integrating the scalar field Curl[vf, {x, y}] around the boundary of the "solid" (dimension 2 region in 
${\Bbb R}^2$)/
Embed the problem in 3D and it works fine:
SurfaceIntegrate[
 Curl[vf, {x, y}] {0, 0, 1},
 {x, y, z} \[Element] Polygon[{{0, 0, 0}, {1, 0, 0}, {1, 1, 0}}]]
(* -1/12 *)