Yes drag/drop is implemented on macOS. You need to set AllowDrop = true for those events to be wired up. Eto does not provide automatic reordering of the tree itself though, so you will have to implement moving and refreshing the tree yourself.
In particular, the GetDragInfo used from the DragOver/DragDrop event can be used to determine where the node should be inserted, and how to restrict where exactly you allow the drop to occur (over/insert/etc).
Thanks for the code!
You are right, it actually works under OSX - which is great.
But I think my original code was also right but it was not working. (Bug?)
It seems it is not enough to use DataObject SetObject(…) because in this way dragging is not working. Now I have added a dummy SetString(…) value too to the DataObject, and it is working…