I think this should work for you. I'm not sure the difference in calculation between X and X_est, but this gives me the values that match X_est in my scene:
for marker in chunk.markers:
p = marker.position
p.size = 4
p.w = 1
T = chunk.transform.matrix
p_t = T * p
p_t.size = 3
proj = chunk.crs
p_est = proj.project(p_t)