is alpha broken with screenposition ?

Because in shadow depth pass screen position becomes something different, as shadow depth view is renderer from point other than view. You can use shadow pass switch material expression to fix that.