this behaviour is intentional - sorry for not having documented it explicitely. Here are the reasons:
Examining the Path type you will realize that it contains the inner nodes and, lazily, the inner edges that are on a path of the given graph. The library is designed such that you cannot compose a Path that contains non-existing nodes or edges with respect to the underlying graph. So pathTo and shortestPathTo can never return a non-existing path.
To achieve the desired result, you could build an inverse respectively undirected graph prior to calling pathTo or shortestPathTo.
More efficienly, a new Path method inverse could be added to the Path class that returns a sequence of nodes/edges. Certainly you can achieve this on your own as well.