obj.__proto__.__proto__ равен null, всё в порядке)
скорее всего, так показывает браузерная консоль.
[[Prototype]] - то что лежит в прототипе.
Но в самом "дальнем" прототипе (который равен Object.prototype) нашлось свойство __proto__, (не поле, а свойство) которое при раскрытии вычисляется для самого объекта obj, и возвращает его прототип.
сделай obj.__proto__ = {b:2} , снова посмотри obj в консоли, и тебе станет понятен этот мой пятничный поток сознания