TheRealDannyyy I'm trying this out with Construct 2.52, and I always get a standard NW.js icon. Does the icon-128.png have to be a certain png-format? (like PNG-8 instead of PNG-24 or something) Whatever I'm doing, I always get the NW.js icon.
Tested using NW.js v0.27.2 and it works just fine. It's impossible to select a png-format for the game icon files so that can't be the issue.
Maybe something is messed up inside your package.json file, please check if you have the line which specifies the use of the png/icon file ("icon": "icon-128.png").
Just to make things clear, NW.js is automatically applying the png/icon file when starting your game, it doesn't replace the source icon from the executable.
Meaning that you still need to use resource hacker in order to replace it completely (e.g. for distribution platforms that use it).