I think that the final result is fine, but it doesn't look like the filenames are being distributed over the MPI workgroup correctly. Instead, the whole workgroup is working together on each filename. If I want this behavior, I think I should specify Parallel = 1, just like if I were using parallel_objects to loop over a list of filenames.
Oops, sorry, I wasn't running your changeset. Sorry for the noise! I'm accepting the PR.