When using TreeLayout.Right if a shape has a single child that is shorter (in terms of height) the tops of the shapes are aligned, this means the centers of the shapes do not align and so the connection is 'crooked'. It would surely make more sense if the centres of the shapes were aligned.
Here's an example