I think one explanation for the late allocation of exit row seats is to do with upgrades clearing...
As I said, I select exit rows when I book in Y (Economy/Coach)... but I also put in for points upgrades to C/J (Business)... In the last year I've had those upgrades clear 100% of the time... which means someone ELSE obviously gets the newly-vacated exit row seat..
..this sometimes seems to happen a matter of hours before departure.. maybe that helps explain why getting in early and asking can work???
Just a thought....