Свойство name уже определено браузером и
хранится в объекте window
Помимо собственно свойств окна, объект также хранит все глобальные переменные, которые попадают туда при объявлении через var в глобальной области, либо объявлении без ключевого слова в любом месте программы (без 'use strict')
Тем самым, объявляя в глобальной области переменную name через var, вы переопределяете одноименное свойство window.name
Определения же через let/const даже в глобальном контексте будут храниться отдельно от window