I’m not sure what’s happening, or if I completely understand how you have your table set up, but I do know this…Glide recognizes frozen rows and treats them in a special way. I think this thread best explains it:
This thread explains what I do when I put the arrayformula on a second row. I include an IF in the arrayformula so it returns a blank, but on on the second row, so glide will ignore it because the entire second row appears to be empty.
I’m not sure if this helps you in any way, but hopefully it better explains what I was trying to suggest.