Often times it's most straightforward in Mathematica to start by automating exactly what you would do by hand, then see what type of adverse use-cases pop up.
In this case, you could try the lowest order and work up. Series expand to the $n$-th order with $n=0$. See if it worked and, if not, increasing n++ until you get somewhere.
Something like this:
firstNTSeries[expr_, {var_, var0_}] := Module[{n = 0, res},
res =expr;
While[expr =!= 0 &&
Normal[res = Series[expr, {var, var0, n}]] === 0,
n++];
res // Normal]
Usage:
firstNTSeries[#, {r, \[Infinity]}] & /@ ld
If you're getting bogged down by speed, (consider above applied to $(r^{10^{13}}+r^{10^{14}})^{-1}$), you can optimize at the cost of trusting Series' ability to guess the first nontrivial step. I.e. use the output of Series to change how fast you should be advancing $n$. Something like:
firstNTSeriesV2[expr_, {var_, var0_}] :=
Module[{n = 0, res},
res = expr;
While[expr =!= 0 &&
Normal[res = Series[expr, {var, var0, n}]] === 0,
n = res[[5]];
];
res // Normal
]