Thanks Saduka!
That got me set in the right direction, but I found a more direct way to get the camera vector in my chunk coordinates. This is the code I'm using, if it's useful to anyone.
import PhotoScan #Photoscan 1.4.1
file1 = open(path, "wt")
chunk = PhotoScan.app.document.chunk #active chunk
cameras=chunk.cameras
for camera in cameras: # Loop through cameras
if camera.enabled is True: # Only apply to enabled cameras
estimated_coord = chunk.crs.project(chunk.transform.matrix.mulp(camera.center)) #estimated XYZ in coordinate system units
cam_vec_int = camera.transform.mulv(PhotoScan.Vector([0,0,1]))
cam_vec_ext = chunk.transform.matrix.mulv(cam_vec_int)
cam_vec_ext.normalize()
print(camera.label, estimated_coord, cam_vec_ext)
file1.write(camera.label + "," + "{:.8f}".format(estimated_coord) + "," + "{:.8f}".format(cam_vec_ext) + "\n") #writing cameras
file1.write("#\n")
file1.close()