Why is the block template for User Login not used on user/login page?
The user_page() function returns the form directly (i.e. not in a block) for the user login page. As such it won't fire template_preprocess_block and your dpm() call will never run. If it wasn't called directly in this manner then the User module would inadvertently become dependent on the Block module being enabled, and this shouldn't be the case.

Also, just in case it helps: dpm() will only print out a message for users who have the correct permissions to view them. By default this doesn't include anonymous users.

If you want to change it (temporarily of course, anonymous users really shouldn't have access to variable printouts), go to http://mysite.com/admin/people/permissions and make sure the Anonymous User role has the "Access developer information" permission ticked.