I got it!, Alexey,
it seems that for keyframe transform, you need to multiply it by Metashape.Matrix().Diag([1, -1, -1, 1]) before applying the transform to RenderImage command as in:
for camera in get_cameras(chunk):
M = camera.transform * Metashape.Matrix().Diag([1, -1, -1, 1])
render = chunk.model.renderImage(M, calibration)
doc_dir = os.path.dirname(doc.path)
render_filename = "Keyframe" + str(camera.key) + "_render.jpg"
render.save(os.path.join(doc_dir, render_filename))
see attached screen capture...
I think that contrary to normal camera transforms, the Y and Z axis do not have to be inverted when dealing with Keyframe type