When you have a stack of planes on the exact same X coordinate, apparently in Blender the first one (in outliner order) shows through, but in glTF viewers the last one seems to show through. This seems to be the reason for the difference you see.
You shouldn't put the visible planes on the same X coordinate since there's no way to really tell which one should be in front.
Instead, one plane should be in the front position and all the others should be in the back position. When it's time for the screen to change, the current plane should move to the back position, and the next screen should move to the front position.
Like this. Watch the selected plane (green border).
Here's a script you can run that should fix up the .blend you attached to do this.
# Number of frames to show each image
duration = 10
# X position of plane when it's in the front
x_front = -2.19
# X position of the plane when it's in the back
x_back = -2.33
# Fix inconsistent name for 1scr
if "1scr" in bpy.data.objects:
bpy.data.objects["1scr"].name = "1src"
# Remove 18src, it's a copy of 1src
if "18src" in bpy.data.objects:
last_n = 17
for n in range(1, last_n + 1):
name = "%dsrc" % n
ob = bpy.data.objects[name]
action_name = ob.name + "Action"
# Clear out existing animations
if action_name in bpy.data.actions:
action = bpy.data.actions.new(action_name)
action.id_root = 'OBJECT'
fc = action.fcurves.new(
pts = 
f = (n-1)*duration
if n != 1: pts += [0, x_back]
pts += [f, x_front]
if n != last_n: pts += [f + duration, x_back]
elif duration > 0: pts += [f + duration - 1, x_front]
fc.keyframe_points.add(len(pts) // 2)
for pt in fc.keyframe_points: pt.interpolation = 'CONSTANT'
# Push to NLA track
track = ob.animation_data.nla_tracks.new(prev=None)
track.name = "Bid"
track.strips.new(action.name, 0, action)
track.mute = True
track.is_solo = True