As you say, it's "a can of worms". Geocaching dot com also has statistics, they also base it on the data that exists. In cases of plotted isn't equal to final, they use the plotted as well. This has also been the approach by FindStatGen which our Profile stats was inspired by 10 years back. It's the only viable solution.
We don't have the final location for every single geocache. And if we did, and used it, our statistics could in some cases be used to figure out where the final was, which would be bad.
Of the cache types you list, they are more likely to be where they are plotted, but far from always. Some of them can have multiple waypoints, and in several cases you don't even have to visit the plotted coordinates themselves actually.
There are too many corner cases to treat this in a accurate way. It's our believe that one just have to understand what data the statistics are based on, and read and interpret them based on that. There will without a doubt always be anomalies.
The easiest approach is to just use the plotted coordinates. And it probably isn't significantly worse than any more complex solution, which doesn't require manual handling of every single geocache.