To answer my own question for the benefit of others:
I added the following JavaScript to template/checkout/onepage.phtml:
if(Ajax.Responders){
Ajax.Responders.register({
onComplete: function(response){
scrollTo(0,0);
}
});
}
So after each AJAX request/response that occurs for process the current section and advancing on to the next, it causes a scroll to the top left of the page. This mightn't be particularly elegant, but it gets the job done.