Quadrature points are defined with Basix, as explained in
How does the symbolic simplification in UFL works? - #4 by dokken (Syntax is a bit out of date, But should be easy to change).
To Get vertices see: Getting coordinates of facets in dolfinx - #2 by dokken
Here you replace the facet dimension with the cell dimension.
For midpoints see dolfinx.mesh — DOLFINx 0.5.1 documentation