Unexpected MergeBlocks Behavior in Script vs GUI (v5.6)

I’m using ParaView 5.6.0 to process some LS-DYNA data, and I’m getting an odd result through my script when using the MergePoints attribute of the MergeBlocks filter. Setting it to 1 screws up my data arrays.

This doesn’t happen when I go through the steps in the script manually through the GUI.
It also doesn’t happen in ParaView 5.9.0 (scripted or through GUI).

I know 5.6 is pretty old but I’m stuck with it for this project for the time being.

Any suggestions on how to salvage my data?

Also note that the issue is much more pronounced at later timestates.
Link to data is below.

Result from GUI (ParaView v5.6.0):

Result from script (ParaView v5.6.0):

Result from script/GUI (ParaView v5.9.0):

Simple test script:

#!/usr/bin/env python
# -*- coding: utf-8 -*-

import os
import paraview.simple as pvs

#======
# Input
#======

file_input = './d3plot'

timestate = 2

debug_file_dirr = './'

debug_file_base = 'ale_boundsurf'

#proxy_name = 'threshold'
#debug_file_ext = 'vtm'
proxy_name = 'merge'
debug_file_ext = 'vtu'

#====
# Run
#====

print()

# Read data
reader = pvs.LSDynaReader(FileName=file_input)

# Extract ALE blocks
extractBlock = pvs.ExtractBlock(Input=reader)
extractBlock.BlockIndices = [1,2]

# Threshold out AMMGID of interest
threshold = pvs.Threshold(Input=extractBlock, registrationName='threshold')
threshold.Scalars = ['CELLS', 'DominantGroup']
threshold.ThresholdRange = [2, 2]
threshold.AllScalars = 1

# Pass Arrays
pass_arrays = pvs.PassArrays(Input=threshold)
pass_arrays.PointDataArrays = ['Velocity']

# Merge
merge = pvs.MergeBlocks(Input=pass_arrays, registrationName='merge')
merge.MergePoints = 1 # Setting to 1 causes the issue

# Update
pvs.UpdatePipeline(time=reader.TimestepValues[timestate-1])

# Save data
pv_ver = str(pvs.GetParaViewVersion().GetVersion()).replace('.','')
debug_fname = '{base}_{proxy}_ts{timestate:0>2}_{pv_ver}.{ext}'.format(base=debug_file_base, proxy=proxy_name, timestate=timestate, pv_ver=pv_ver, ext=debug_file_ext)
debug_fname = os.path.join(debug_file_dirr, debug_fname)
proxy = pvs.FindSource(proxy_name)
pvs.SaveData(debug_fname, proxy=proxy, DataMode='Binary')

print('Finished')
print()

Data:
https://drive.google.com/drive/folders/1UIcWLA5D7lEDAKmwo0XEYU7Ndaa8OtxC?usp=sharing