I've had the exact same problem and found no proper fix
I believe the logic behind the scenes is the software's calculating a centre weighted to the shape of the polygon, somehow, rather than averaging the xmin xmax and ymin ymax (which would seem to be simpler)
my index is for a book of zoning maps, where the pages are divided by roads, railway tracks, rivers, municipal boundaries etc
ie many irregular boundaries
my workaround has been to create a whole secondary index with the exact same data
but the problem polygons I've replaced with tightly fitted rectangles (each rotated to the orientation of the page, ie its KeyAngle value), I use this version, called IndexBoxes to drive my mapbook
for many purposes I still need the original index, which I've ended up calling IndexTrue
and therefor need to keep updating the same fields in both versions whenever something changes, which is redundant and increases the chance of human error
the controls in this new Data Driven Pages version of MapBook are so limited I'm sure I've missed nothing and can only hope they revise the extent logic in future versions (the old MapBook centred things perfectly)
but if anybody knows a more elegant workaround than what Ive resorted to I'd love to hear it