I agree this is surprising, but maybe it's the best course of action, for Swift 5.3 at least. While I think the backwards scan could be adapted as you describe, it seems like it would add an unfortunate amount of complexity. Also, users always have the fallback of not using trailing closures.
In practice, I can't think of a reason someone would write a function like the one from my original example, so I don't think such a limitation would be a major flaw. Maybe we just need to come up with a way to communicate how the backwards scan works to the user when they make a mistake?