Вам не нужна топологическая сортировка. Просто используйте поиск в ширину или поиск в глубину из корня и сохраните все пути, которые заканчиваются в месте назначения.
Пример псевдокода DFS:
paths_to_destination = []
def dfs_store_destination(node, dest, path=None):
if path is None:
path = []
Append node to path
if node == dest:
Add path to paths_to_destination
else:
for new_node in node.reachable_nodes:
dfs_store_destination(new_node, dest, path)
Remove node from path
dfs_store_destination(root, my_dest)