z-ordering is based on the order of drawing commands (things drawn later
will paint on top of what is already there).
Pd doesn't care about z-ordering at all and the order of drawing is mainly defined by "what needs to be done" (rather than: "how will it look like").
How is defined "what needs to be done" in the case of scalars? The order of creation doesn't count in this case: the scalar for the background takes over the whole GOP canvas is always created first, the arrays always later. But when redrawing that isn't taken into consideration.
(I just tried to duplicate the structs for the arrays, so that they are defined after the one for the background. But that made no difference)
Best,
Joao