El resultado mostrado por el elemento identificado con "h1" no está vacío porque ya se ha ejecutado la orden del script original que cambia su contenido.
Aunque el contenido de las propiedades location y location.href pueda parecer el mismo no lo son.
location.href es una cadena de caracteres con la dirección del documento, en cambio location es un objeto con diferentes propiedades, entre ellas, href que es la que se muestra.
Esta diferencia se puede constatar si se abre la consola. El script muestra en ella el contenido de location.href y a continuación el de location. Obsérvese que se puede clickar en esta última y desplegar las diferentes propiedades del objeto location
El contenido del objeto location es: