Why not implement Union-Find structure using root as the direct parent?
Because then a Union operation would be very slow: when you Union two trees, you would have to reparent all of the nodes in one of the trees.