From my understanding, this can only tell us which residues we can change in an initial protein without losing the function it started with. It can’t tell us how many protein sequences are available at the very start. Evolution is heavily influenced by historical contingencies (i.e. Butterfly effect), and I think this is biasing your analysis. You would also need to factor in contingencies caused by epistatic effects where neutral mutations can later become essential in stabilizing otherwise deleterious mutations.
Fitness landscape modelling would need to be a part of your analysis. Once you start with a function you are throwing away a much larger landscape of function and focusing in on just the mutations that will move up the landscape from one single starting point. I don’t see a way for your method to detect all of the possible starting points in that fitness landscape.