I was wondering if anyone could shed a light on why this behavior is happening in QGIS?
I'm pretty confident that the issue here is not due to centroids within polygon.
Added a detailed image
QGIS does not reproject data on the fly automatically. It's not unusual to have a Coordinate Reference System (CRS) defined for a project and have data added to the map with a different projection that displays but has not been transformed to the CRS of the map. If the CRS of the map and the CRS of the data are close enough, the data will display but be in a slightly different position.
Your centroids and polygons are in different CRSs. The solution is to either:
Be aware that the second option does not affect your data, it only projects it for the display. The underlying data is not changed.
You just need a new QGis plugin to create polygon centroids, you can check out "Centroid Maker" from here
edit: It is more efficient/accurate for the problem of "island" geometries, which confuses traditional centroids makers.