Thanks to @Steve-Mcl I have removed my loop nodes and replace them with functions.
I want to remove the loop node from the palette, but it appears to still be "in use"
If you click the > button to the right of where you typed array-loop into the search box, it'll copy the search over to the Info sidebar outliner - this will show the node in the outline tree and help you find it.
what if you simply search for loop instead of array-loop
have you deployed after the removal of these nodes in your flow .. or try to refresh the browser
Can you share your flow file? You say you can see it inside the flow json - that will contain all the information needed to track it down if you know how to interpret it.
It doesn't solve the root cause where nodes somehow end up with an invalid z property, but it does at least allow us to recover the situation without me having to do manual JSON surgery.