Ok, looks like I have found out what's going on: the patch copies .eclipse.templates/.classpath if it exists. That explains why I was getting zero-sized .classpath file after this patch application. To test the assumption I have created
cat > .eclipse.templates/.classpath
and then ran ant eclipse. No wonder the result file had the same content.
+ <copy todir="." overwrite="true">
needs to exclude more than just README.txt.