For a long time without giving it much tought, I've accepted that turning on alpha testing disables Early Z. Emil Persson also mentions this in his "Depth In-depth" AMD white paper.
I have been thinking about this lately and, to me, it doesn't make sense why alpha testing would disable Early Z. Why would Early Z care if the pixel is going to be accepted or rejected by the alpha test? The only case I can think of is Early Z saying the pixel is visible, but then alpha test failing. This would simply be a waste of processing time, but I would imagine that the average texture with alpha test information has more pixels that should be visible than not.
Thanks for sharing any thoughts.