Set the sage up vector to point in the z direction.
Respect sage's mesh option for sage 3d graphics.
Take the transpose of transformation matrices from sage.

It still doesn't seem to be transforming arrow3d((0,0,0),(0,0,1)) correctly, though.