How do I iterate over keyframes in python?
On some further investigation, and looking at other threads, I solved my issue by using the following method to update the scene.

bpy.context.scene.frame_set(bpy.context.scene.frame_current)


So now I'm thinking there is a bug in how bpy.ops.screen.keyframe_jump() is implemented. The line I added should theoretically do nothing (ie. setting the current frame to the current frame should be a no op). The strange thing is that my original implementation worked in the interactive console, but not when I put it in a text/export file and run it from there.