.obj export - moving the origin
I now feel silly. Turns out I was wrong and the obj export script does work as expected. Instead, the object was being recentred by another script I was using afterwards (obj2opengl.pl). The solution was to use the -noMove switch when running this second script otherwise the default is to "move [the object] to the center of its vertices"

Thank you for the comments, it helped me realise the true problem!