One other thought on this, and I think it is consistent w/ how we've handled other token changes is to do the upgrade, mark it in the CHANGES.txt clearly per the http://wiki.apache.org/lucene-java/BackwardsCompatibility and to also note that to retain the old behavior, one needs to drop in the old jars.
Could this work? I haven't tried it, but it seems like it could, except for your one comment above about the use of reflection. Of course, there may be a way around that too.
Additionally, we have an out in that the back compat. link above says:
"All contribs are not created equal."
The compatibility commitments of a contrib package can vary based on it's maturity and intended usage. The README.txt file for each contrib should identify it's approach to compatibility. If the README.txt file for a contrib package does not address it's backwards compatibility commitments users should assume it does not make any compatibility commitments.
Thus, I think we should include this for 2.4 and we should note it in CHANGES.txt and in the Snowball README.