The synchronousness means the whole DOM will block; blocking anything else would be an implementation bug, however that is not what Taras's post describes.
Blocking the DOM is bad. JS is designed as an evented language (the insight that led to node.js), which means it can't accept primitives that stall its main loop; breaking that assumption would add a lot of complexity to code that never uses localStorage.