Doing this in my head, and typing on my phone, while walking the puppy early in the morning.
If you reroll ones, and have to keep the new result, then when computing the average you are replacing the ones with the old average. I.e. for a d4 tge average expected result is ( ( 1 + 2 + 3 + 4)/4 + 2 + 3 + 4)/4, or (2.5 + 2 + 3 + 4)/4. Looks to be like that increases the average expected result by 1.5/4, or 0.375. The general pattern is an increase of (AVG-1)/4. So 2.5/4 for d6, 3.5/4 for d8, etc.
But wait! Although smaller dice get a smaller increase, we really care about the percent increase. That’s ((AVG-1)/D)/AVG which… I’m having trouble simplifying in my head.
Let’s see, replace both averages with D / 2 + 0.5, because we want to solve for D, and…we have a quadratic. (See? There was a use for those after all!) I’ll finish this when I can sit down.
EDIT: Oh, duh, there’s a simpler way: the increase is (D - 1)/2D, which gets larger with larger values of D.
So re-rolling 1s is more advantageous for larger dice. But not by much.
Unless I made a mistake.
The "formally correct" way--that is, the one which correctly captures all the statistics with no simplification--is that you need to expand out each result into the number of faces on the die, and then replace the N faces that show 1 with [1,...,N]. With d4, that looks like this: d{1,2,3,4,2,2,2,2,3,3,3,3,4,4,4,4}. Alternatively, you can think of it as becoming an N^2 sided die, where you have a single 1, and then the remaining values appear N+1 times. You'll get the same
average value if you just enter 1d{(N+1)/2,2,3,...,N} but you won't get the same overall statistical behavior.
Having crunched those numbers, I can now say that the
ceiling of the change appears to be 0.5, as noted above. That is, we get:
d4 average improves from 2.5 to 2.88; SD falls from 1.12 to 0.93
d6 average improves from 3.5 to 3.92; SD falls from 1.71 to 1.48
d8 average improves from 4.5 to 4.94; SD falls from 2.29 to 2.05
d10 average improves from 5.5 to 5.95; SD falls from 2.87 to 2.62
d12 average improves from 6.5 to 6.96; SD falls from 3.45 to 3.19
It's rather tedious to calculate anything beyond d12 and pretty much irrelevant so I'm not going to do the full, formal numbers for any higher die values (and sure as heck not d20). If you like data visualization, you can look at plots for these with
this AnyDice program.
But we can certainly say that, while the increase in the average always goes up, it pretty well appears to be bounded from above by 0.5, and thus the
percentage increase is always lower for larger dice. This might not be true for broader ranges, e.g. if you could reroll 1 or 2 this way, the benefit might grow rather than shrink. (We could imagine, frex, if every value less than the average could be rerolled once, then the average benefit surely should not
shrink with higher die values.)