GridLayout.Arrangment TopToBottom?

is there any way to arrange nodes in a grid layout top to bottom instead of LeftToRight or RightToLeft?

You could limit it it a single column (GridLayout.WrappingColumn = 1).
But in general, no, it assumes a row-major ordering.

GridLayout is relatively simple to implement for any particular set of conditions, so you could implement it yourself if you really need column-major ordering.