When you snap the stair tread to the top of the landing immediately after creating the array, my snapping wants to snap the origin of my stairs to that top corner. The origin of the stairs is the lowermost step, which is not suitable.
How did you manage to get blender to use the array-ed geometry to snap to the top corner of the landing? See the reference to what time in the video I'm talking about.