I have replicated the problem by commenting out the first four lines of code. With them in, the Grid layer becomes the Index layer, with them removed the LINN_OrAndWaOwnership layer becomes the Index layer. I used the move command because I will be reordering 10+ layers and wanted to streamline the process.
layerMoveUp= arcpy.mapping.ListLayers(mxd2, "LINN_grid", df)[0]
layerMoveDown= arcpy.mapping.ListLayers(mxd2, "LINN_OrAndWaOwnership", df)[0]
move = arcpy.mapping.MoveLayer(df, layerMoveDown ,layerMoveUp, "BEFORE" )
move
# Reset Data Driven Page Index Layer
indexLayerOut = arcpy.mapping.ListLayers(mxd2, "Counties", df)[0]
indexLayerIn = arcpy.mapping.ListLayers(mxd2, "LINN_grid", df)[0]
arcpy.mapping.UpdateLayer(df, indexLayerOut, indexLayerIn, False)
print "index updated"
# Refresh DDP - Does not work, must be done manually
arcpy.RefreshActiveView()
I agree that within the DDP toolbar relative placement has nothing to do with what is set as the index layer. I am only about 4 months into my programming so there is a ton I don't understand about the inner workings. I really appreciate your help.
Edit: To further confuse things (or shed light, who knows?) after the index layer has been updated I moved the OrWaOwnership layer above the grid layer later in the script. This resulted in the Ownership layer is once again becoming the Index layer.