Let the speed of hiker $i$ be modeled by a random variable $S_i$ and let their start position be a distance $P_i$ from the end of the hike, where the hikers form a set $\mathcal H$ and $i\in\mathcal H.$ Their position at time $t$ would therefore be $P_i - t S_i,$ assuming they were unimpeded, and the time needed to arrive at the goal unimpeded would be $A_i=P_i / S_i.$
By time $t\ge 0,$ a hiker will have encountered anyone whose initial position was ahead of them but whose computed unimpeded position is now behind them. So, define
$$\mathcal{B}(t; \mathcal H, i) = \{j \in \mathcal H \mid P_j \le P_i\ \&\ P_j - tS_j \ge P_i - tS_i\}.$$
This is the subset of hikers whom $i$ has encountered through time $t.$ This bunch of hikers will reach the goal together at the last arrival time of everyone in it. That is, hiker $i$'s arrival time now is projected to be
$$A_i(t;\mathcal H) = \max\left(A_j \mid j \in \mathcal{B}(t;\mathcal H, i)\right).$$
Obviously none of these exceeds the largest of the $A_j.$ However, it is equally obvious that at least one of them always equals the largest of the $A_j:$ namely, the hiker with the latest unimpeded arrival time. Thus,
The problem is to find the distribution of the maximum of the $A_i, i\in\mathcal H.$
That has a standard solution derivable from basic concepts. In the simplest case, where the $A_i$ are $n$ independent and identically distributed variables with common distribution $F,$ the distribution function of the maximum is $F^n.$ In general, though, this distribution is messy and requires numerical integration.
To see this result intuitively, ponder a space-time diagram of a hike, where position along the trail is plotted vertically (with the goal at top) and time is indicated horizontally, flowing to the right. In this example five hikers $\mathcal H = \{a,b,c,d,e\}$ begin at the positions indicated by the triangles at the left at speeds indicated by the slopes of the rays emanating to their right, arriving at the goal at times $A_i$ indicated by the circles on the goal line at the top. Their unimpeded progress is indicated by the solid and dotted continuations, one color per hiker.

The true progress of the hikers is indicated by the solid line segments, colored according to the speed of the slowest hiker in each group. So, $e$ starts behind all hikers but quickly encounters the slower $d,$ forming a bunch of two hikers moving at $d$'s pace. A little while later the fast-moving $b$ runs into slower $a,$ forming another pair of hikers moving at $a$'s pace. This latter pair reaches the goal a little before hiker $c,$ who encountered nobody along the way. Finally, the $e,d$ pair cross the line exactly at the time $A_d$ that was anticipated for $d$ at the outset.
The analysis with which this answer began simply amounts to pointing out that $d$ cannot arrive any later than originally anticipated. After all, if they are ever delayed en route, then they will arrive with one or more hikers whose original arrival time was even later then $A_d,$ contradicting the characterization of $d$ as the hiker with the largest value of $A_d.$
R
code to create the example.
f <- function(arrivals, speeds) {
#
# Compute an impeded hiker's position at time `time`.
# (Negative positions have yet to reach the goal.)
#
path <- Vectorize(function(time, arrival, speed) {
x <- speeds * (time - arrivals) # Positions of all hikers
x.0 <- speed * (time - arrival) # This hiker's position
crossed <- which(x <= x.0 & arrivals * speeds <= arrival * speed)
min(x[crossed]) # *Furthest* from the goal
}, "time")
#
# Plot the unimpeded and impeded paths, respectively.
#
plot.path. <- function(arrival, speed, ...) curve(speed * (x - arrival), add = TRUE, ...)
plot.path <- function(arrival, speed, ...) curve(path(x, arrival, speed), add = TRUE, ...)
#
# Plot and decorate the space-time diagram for these hikers.
#
colors <- hsv(seq(0, 3/4, length.out=length(arrivals)), 1, .8, alpha=2/3)
plot(c(0, 1.1) * max(arrivals), c(-1, 0.1) * max(arrivals * speeds), type="n", bty="n",
xlab="Time", ylab="Position", xaxt="n", yaxt="n",
main="Space-Time Diagram of the Hikers")
abline(h=0) # Goal line
mtext("Goal", side=2, at=0, line=1) # "Goal" label
invisible(mapply(plot.path., arrivals, speeds, col=colors, lty=3, lwd=2))# Dotted paths
invisible(mapply(plot.path, arrivals, speeds, col=colors, lty=1, lwd=2)) # Solid paths
points(arrivals, rep(0, length(arrivals)), pch=21, bg=colors) # Arrival points
points(rep(0,length(arrivals)), -arrivals*speeds, pch=24, bg=colors) # Departure points
mtext(names(arrivals), side=2, at=-arrivals*speeds, line=0) # Path labels
}
#
# Create sample data.
#
# set.seed(17)
arrivals <- signif(sort(rgamma(5, 20)), 3)
speeds <- signif(abs(rnorm(length(arrivals), 1, 3/4)) + 0.25, 3)
# # Put the last arriver near the middle at the start.
# i <- which.max(arrivals)
# speeds[i] <- 1/mean(1/speeds[-i])
names(arrivals) <- names(speeds) <- head(letters, length(arrivals))[rank(arrivals*speeds)]
f(arrivals, speeds)