You could use a native html link instead of a button, this should force a new instantiation (as long as it is no Spring singleton) but also a complete page reload. Another way would be a simple reload of contents based on the given parameter (I know, simple and not a real solution).
Using prototype beans from Spring does not really helps. Tried that, but he still reuses the same object again.
In either way could create a request to have a route reload forced by setting a parameter at the @Route annotation, when navigation to the same route: https://github.com/vaadin/flow/issues
Finally I found a workaround by waiting while implementing HasUrlParameter. By injecting parameters into my url I was able to access the component of my page. Which allowed me to update my Grid properly.
I am aware that this is not the normal operation but for the moment it does the work.
I will try to use your solution when I am again confronted with the problem.