Better to copy/paste the text than an image of text. But, it looks like polygonCentroid doesn't like the crossover topology of your bowtie. If you reorder your points so that it traces a perimeter without crossing over the center (even with the center points on top of each other) it seems to give a more reasonable answer. I don't know if that is the function's expected behavior. It seems to use enclosed area to determine centroid, and without diving into the code I don't know how the crossover messes up it's area calculation.
For everyone else, here was your code (to the numerical precision I could copy):
most of the functions in matgeom and geometry assume the polygon is
simple. It is not explicit in the docs, so there is room for
improvement (if you do not want to wait for me you can report the
documentation issue here https://github.com/mattools/matGeom/issues).
The change proposed by Nicholas indeed breaks the polygon into two