@DeltaE
Sorry for the late response, I haven't visited the forum for quite a while.
Yes, that's how dynamic software works generally. It is more conservative in low area coverage regions and applies lower replacements with K there to avoid graininess. In places with low area coverage (light tones), sizes of CMYK dots matter. If the CMY dots are small, and K dots are relatively large, it will result in grainy appearance because large K dots will be in high contrast with white paper surface. Therefore, seperations (UCR or GCR amounts) should be well balanced in low area coverage in a way that K dots aren't too large and CMY are large enough to sufficiently "close" the paper surface with respect to K. On high area coverage (dark tones) paper surface is pretty much covered so the amount of K (more aggressive UCR or GCR) is not an issue.
I don't know what any commercial software does exactly because the implemented methods are their intellectual property, not open source. But generally, dynamic ink savers take the strategy that I described and much more than that. There are whole studies dedicated to finding the right amounts of GCR based on psychovisual experiments such as "Black is Green" by L. Shapira and B. Oicherman. They take into account additional factors (such as greater sensitivity to skin tones) which are implemented in dynamic ink savers' algorithms.
Anyway, what You do in Photoshop does make sense... apply more aggressive GCR in darker areas, but You do it intuitively and probably sub-optimally. Good dynamic ink saver uses advanced algorithms to calculate the optimal amount of UCR or GCR for every pixel, and takes into account several factors mentioned earlier.
Aside from that, there is an issue with the accuracy of Photoshop separations. When one uses a dedicated ICC profile with fixed UCR or GCR amount, accuracy should be pretty good because that profile was created from measured chart containing several hundreds or thousands of color patches. The profile creation software then fits a mathematical model (a function) to the data and that model is used to calculate all of the in-between points not contained in measured data.. remember that profile tables have many more entries (points) than charts. Now when one uses Photoshop's separation, it does not take several hundred or thousand color patches. It uses just a few entries such as paper white, 100% C, M, Y, K and secondary colors. So the model which Photoshop uses is fit to much less data and consequently far less accurate than one used in profile creation software.