It looks like a bug.
During the frontend build, TaskGeneratePWAIcons correctly generates PWA icons based on the project PNG in META-INF/resources/icons/icon.png, but then they are overwritten by TaskPrepareProdBundle with the icons from the default prod bundle.
It is easily reproducible with the skeleton-starter-flow-spring project by just running a production build (mvn package). In dev mode I see the correct icon, but running the app from the production fat JAR, the default one is shown.
The same issue appears to be present also in 24.9.
I guess this does not happen when a custom bundle is required.
@SimonMartinelli would you be so kind as to create an issue on the Flow repository?
I guess the easiest fix is to remove the generated PWA icons from the prod bundle, since TaskGeneratePWAIcons will anyway generate them again even if a custom icon is not provided in the project.
Posting also here a workaround: rename the icon and update the PWA annotation accordingly. This way the generated icons will not be overwritten by the default production bundle.