But, since I am changing the value of stage's attributes, it should show me the change in console.log. How is PIXI Container managing to avoid these changes? Is this functionality provided by javascript?

width/height are getters, for container it is defined as the size of its children. When you set it, it gets the current width/height and determines how much it should set the scale to meet the size you want. Since that container is empty, it has width/height 0 and there is no scale that would make it be the size you want so it does nothing

In pixi, a Sprite's bounds are defined by the texture. That is, the size of the end-result of the rendered object. Similarly, since a Container is not drawn, and therefore the bounds of it are defined by the children it contains. Particularly, by the bounds of those children. For a Graphics object, the bounds are defined by the geometry that you draw in it. If you draw another rectangle in a Graphics object outside of the current bounds, the bounds expand to include the newly drawn geometry.

Hopefully that makes sense, and gives you a quick concept of how bounds are structured in Pixi.