Any analysis of this type has to be based on the change not the version. Meaning the researcher shouldn't check when people upgraded from version x to version x+1, instead they should study what changed in x+1 that could encourage or discourage people from making the upgrade.
Imagine we are on version 50 and version 51 is adding new RPC commands, fixes some UI bugs, optimizes the wallet, etc. Then there is version 52 that is introducing and activating witness version 5.
In this scenario, people are more willing to upgrade to v. 52 than to v. 51 because of WHAT changed.
I skimmed through the article and the author seems to have recognized this effect although they were not able to figure out the reason (claims it is due to "user friendly plug and play node hardware and software" which I disagree with).
Another thing to keep in mind is that it IS a good thing to have not-upgraded full node implementation running. New versions may contain unintended bugs and when old versions continue to exist, they ensure the chain continues growing on the "correct chain" if the bug were exploited.
Example:
https://bitcointalk.org/index.php?topic=5032443.0A bug was found which allows anyone capable of mining a sufficient-PoW block to crash Bitcoin Core nodes running versions 0.14.0 to 0.16.2.
Nodes older than 0.14.0 were unaffected.