I think this is actually a quite good question, which is often neglected (as you have noticed) and which I myself haven't thought about much before. The main point, I would say, is that processes with larger-than-one roots (called explosive roots) are not as interesting. If you have something which is just slightly above one, the process will fairly quickly just look like a nice curve. An explosive process will therefore reveal itself, but the (visual) difference between a unit root process and a near-unit root process is much more subtle.
Consider the AR(1) process
$$
y_t=ay_{t-1}+\epsilon_t.
$$
I have simulated this with $a=1$ (this is the $y_t$ process in the figures), which is a random walk with a unit root. Also shown is $x_t$ which is the same as above but with a slight perturbation, so $a=1.05$ now. Thus, it has an explosive (not just a unit) root. As you can see, the behavior they exhibit is quite different (granted this is just one simulation, of course). You see the trending-like behavior already with $T=40$, and with $T=1000$ it just looks odd. Therefore, as I see it, you disregard the possibility of an explosive root many times because it is "unrealistic". A process such as what you have in the top right panel might instead, in practice, be modeled using deterministic trends with a possible non-stationary process moving around this trend.
So, non-stationarity is definitely implied by explosive roots. But in practice these are much less often found, so we spend quite some time learning about the more realistic situation of non-stationarity, which is a unit root. For the same reason, you often don't learn a whole lot about a negative unit root (i.e. $a=-1$ in the model above).

eps <- rnorm(1000)
eps2 <- rnorm(1000)
y <- eps
x <- eps2
for (t in 2:1000) {
y[t] <- y[t-1] + eps[t]
x[t] <- 1.05*x[t-1] + eps2[t]
}
par(mfrow=c(2,2))
plot(y[1:40], type = "l", ylab = "y, t=1, ..., 40", main = "a = 1")
plot(x[1:40], type = "l", ylab = "x, t=1, ..., 40", main = "a = 1.05")
plot(y, type = "l", main = "a = 1")
plot(x, type = "l", main = "a = 1.05")