XML updates by plugin version changes have not been an issue in the 2+ years I've been using this technique. The updates happen, I pull them into my git repository and rebuild my docker images. However, I only have 179 plugins in my setup. If you have significantly more than that, or a different set, your results may be very different than mine.
My initial focus was trying to assure that I could rapidly reconstruct different configurations shortly after I'd discovered that a configuration was important to me.
For example, after duplicating a bug report against the git plugin, I wanted to be
able to commit that change to the docker definition, build it, and run that docker image on a different machine to confirm that the bug is also repeatable in a fresh environment.
Because of that desire for very little time between "first experiment" and "repeatable configuration stored in git", I didn't want to spend time investigating how to write the groovy script to express what I already had in the configuration files on the disc.
It is part laziness (don't want to do the research to learn how to configure what I've already configured) and part an intense desire to keep my open source time focused on git plugin work, rather than focused on learning how to configure the system with groovy.
I believe that I am an "outlier" in that regard. I believe many people prefer the system groovy script technique to configure their system. You should not mistake my different way of approaching the problem as though it is a preferred practice, or a best practice. It works for me, and I will continue using it until it no longer works for me. It may not work for anyone else.
Mark Waite