Последняя из установленных Directory при запросе к ней, например, dir.New("ftp://..") сама решает, может (и хочет ли) она отработать такой запрос. Если нет, то передает вызов ниже, другой директории и возвращает File другого, не своего, типа.