On the right: Circle shape was created with body before polygon was attached.
On the left: Polygon shape was created with body before circle was attached.
Filled circles: shapes mass center. (calculated)
Small circles: bodies mass center. (getWorldCenter)
Big circles: bodies position. (getPosition)
Well that actually may be your issue - kinematic objects are meant to be moved around manually and are not supposed to react to other objects. Try using dynamic bodies for both of them.