Here is another approach to your problem (please name the plot given after NDSolve as pl1)
e1 = (0.004 - (0.022^220^2)/(y^(10/3)))/(1 - ((20^2)/(9.81 (y)^3)));
e2 = e1 // Chop // FullSimplify
SetOptions[Integrate, GenerateConditions -> False];
jj = Integrate[(y^3 - b)/(a y^3), {y, 2, yy}]
lsg = Solve[jj == t, yy][[3, 1]];
fy = yy /. lsg;
fy /. t -> 0 /. a -> .004 /. b -> 40.7747
Chop[fy /. t -> 0 /. a -> .004 /. b -> 40.7747]
D[fy, t] - a fy^3/(fy^3 - b) // FullSimplify
ffy = fy /. a -> .004 /. b -> 40.7747;
pl2 = Plot[Chop[ffy /. t -> tt], {tt, 300, 2700}, PlotStyle -> {Thick, Red}]
You see that the (appoximated) diff. equation is fulfilled and the solution is essentially equal to the result of NDSolve:
Show[pl1, pl2]
y[L] =3 is reached for a negative argument:
FindRoot[ffy == 3, {t, -473}]
(* {t->-457.8940972222226`-4.814826364873225`*^-13 I} *)