If you do:
For Each v As Node In MainForm.RootPane.GetAllViewsRecursive
Log(v)
Next
You will see that there are more nodes than you'd expect, probably because the search is recursive, as MainForm.RootPane.NumberOfNodes returns 4. Maybe a non-recursive getChildren method would be useful, although it's probably quite straightforward with JavaObject (I haven't looked).
Some are composites that make up one view, it looks like a button also has ButtonSkin and LabeledText Nodes and ButtonSkin shares the button Id.
If you do:
For Each v As Node In MainForm.RootPane.GetAllViewsRecursive
If GetType(v) = "Button" Then ListOfButtons.Add(v)
Next
instead, you'll get your desired result. You can additionally test for ID="Btn" if you have different ID's for different uses.