Pre tento konkrétny prípad môžeš napísať ten regulárny výraz tak, aby zachytil len poslednú číslicu (napr. r"\d(?=[^\d]*$)", alebo r"\d(?!.*\d)").
Všeobecne by mohlo stačiť k tomu regulárnemu výrazu pridať zápis, aby sa za hľadaným vzorom nevyskytoval ďalší hľadaný vzor, t.j. orig + "(?!.*" + orig + ")".
Ďalšia možnosť je, prebehnúť všetky zhody a ponechať si tú poslednú:
import re
retezec = "testovaci 123 retezec"
for match in re.finditer(r"\d", retezec):
pass
index = match.start()
print(index)