We consider the online k-taxi problem, a generalization of the k-server problem, in which k servers are located in a metric space. A sequence of requests is revealed one by one, where each request is a pair of two points, representing the start and destination of a travel request by a passenger. The goal is to serve all requests while minimizing the distance traveled without carrying a passenger. We show that the classic Double Coverage algorithm has competitive ratio 2 k − 1 on HSTs, matching a recent lower bound for deterministic algorithms. For bounded depth HSTs, the competitive ratio turns out to be much better and we obtain tight bounds. When the depth is d ≪ k, these bounds are approximately k d /d!. By standard embedding results, we obtain a randomized algorithm for arbitrary n-point metrics with (polynomial) competitive ratio O(k c 1/c log n), where is the aspect ratio and c ≥ 1 is an arbitrary positive integer constant. The previous known bound was O(2 k log n). For general (weighted) tree metrics, we prove the competitive ratio of Double Coverage to be (k d ) for any fixed depth d, and in contrast to HSTs it is not bounded by 2 k − 1. We obtain our results by a dual fitting analysis where the dual solution is constructed step-by-step backwards in time. Unlike the forward-time approach typical of online primal-dual analyses, this allows us to combine information from both the past and the future when An extended abstract of this article appeared in IPCO 2021.