None of this was necessary for me.
Why override the default when you can bundle a resource with the generated JAR that will take higher precedence than the default one.
To achieve a custom favicon.ico file, I created a src/main/resources directory for my application and then copied the favicon.ico file into there. The files in this resources directory are moved to the root of the compiled JAR and therefore your custom favicon.ico is found before the Spring provided one.
Doing the above achieved the same effect as your updated solution above.
Note that since v1.2.0 you can also put the file in src/main/resources/static.