This was the final expression I used:
haha I just realised reading through it, I have a very redundant “+1” and then “-1”
same as what you had basically but with the redundancy haha
tStart = inPoint;
dur = effect("Duration")("Slider");
delay = effect("Delay")("Slider");
totalStrokes = thisProperty.propertyGroup(3).numProperties;
reversedIndex = totalStrokes - thisProperty.propertyGroup(2).propertyIndex + 1;
t1 = tStart + delay * (reversedIndex - 1);
t2 = t1 + dur;
linear(time,t1,t2,0,100)