I rephrase my question:
1) given arbitrary inputs, does the SHA-256 function really generate outputs that are evenly distributed?
2) given block headers** as inputs, does the SHA-256 function really generate outputs that are evenly distributed?
Yes, yes. If not, it would not be a good hash function and it would be open to attacks.
Good point. Collision resistance comes from the fact that its uniformly distributed.