BTW, your space transformations need the light VIEWING and the light PROJECTION matrices swapped. And even then that's going to leave you in light CLIP-SPACE. You still need a bias matrix to shift your projected coords from -0.5..0.5 to 0..1 needed for shadow map texture lookup.

If we do the perspective divide on the latter (the standard "bias matrix" approach), we get the nice [ x/w*0.5+0.5, y/w*0.5+0.5, z/w*0.5+0.5, 1 ], which is just the scale-and-shift we need to shift the NDC cube (-1..1,-1..1,-1..1) into (0..1,0..1,0..1).

But with the former, we end up with: [x*0.5+0.5, y*0.5+0.5, z*0.5+0.5, w*0.5+0.5]. And if we do the perspective divide, ...we end up with something very different.

I could be missing something (very possible!), but I don't see how to map this as equivalent to the former. Any ideas?