What counts for an image size is ultiamtely the number os pixels. The resolution parameter changeable in GIMP is justa hint of how much pixels would go into an inch (or centimeter) when printing - thus you can print a 640x480 image in 4x3 cm, as you can print the same images in 40x30 cm (it will look badly blurred/posterized).
Browsers do not respect the resolution set in PNG files to choose the view size - you can change that with CSS width and height parameters - by default it will use a resolution carefully specified in the CSS definition so that the image is not too small in large resolution displays/printing. - The default CSS resolution is 96 pixels per inch as can be seen here: http://www.w3.org/TR/2013/CR-css3-values-20130730/
[you really should put one question per question - and please punctuate - I had not seen your "first question" ]
When I open and save a png image in Gimp, the size in the file system
changes. I use the default settings.
So - what happens there is that PNG although lossless for pixel values do have variable parameters - like the compression level, and embedded color profile specification which can change between saves.