My mistake - apologies - I went through the steps again and it seems there is a check being done in the second step of the process... Let me explain:
I clicked the "Send email reminder" -> this takes you to the "Send email reminder" screen where you get the chance to change a few options.
On that page, it shows "Send reminder to token ID(s)" -> in that selection, the expired token is still included
When you then click "Send reminders" -> at that point, before sending the email, it seems to check the token validity and so it excluded the one that had expired:
"2 Email to Test2 User2 (xxxx@gmail.com) skipped: Token is not valid anymore."
This means it works however I think that in a large survey with many expired tokens, this will clutter the list and make it very difficult to identify any other issues that may be hiding in between many "Token is not valid anymore" messages...
Wouldn't it make more sense to do this selection at the first screen and exclude them from the processing in step 2 all together?
I'll create a "nice to have" bug - perhaps others may have the same opinion...