Edit: This workaround is no longer necessary, see other answers
There is a pure GeoNodes workaround..
Please see below for GN (Fields) update.
Compare the original mesh to a 1-level subdivision of itself. Points on the subdivided version which are sufficiently distant from the edges of the original are in the middle of the original's faces, and can be separated out:
There has to be a tiny Epsilon
in the Greater Than node to account for floating-point errors.. in this case, 0.0001.
GN(Fields) Update:
Just in case some have found some of this as counter-intuitive as I have, here is a route to one instance per face, aligned to normal:
..here shown with GN-modified mesh and instances together:
(Blender 3.0b)