It's a lot stricter across files, than within a file. Within a single file, it labels as renamed/edited when the old and new are 75% the same code (ignoring formatting) along with a couple of other rules. Across files, it pairs code that's identical, or at minimum kept the same name and is at least 60% identical, if it was renamed in addition to being edited+moved it's never matched.
There's no similarity-based fallback to a line diff because the line diff is always there. These labels sit on top of it, so a wrong label can't hide anything, and you can see both sides of any match it claims.
Admittedly those percentages are a bit arbitrary, and I probably need to think about it a little bit more. If you do run into issues with it, please let me know.