We are reverting for 2.41 the changes mentioned here so far. The original change is still conceptually sound but it revealed some corner case behavior that we need to deal with, in practice it means snapd will start parsing soon channel input to operations much more and report malformed channels.
https://github.com/snapcore/snapd/pull/7255 alone is not consistent and would need further work. In general snapd API will need to switch to return full channel specs in all cases, because of the larger ambiguity of risk only specifications vs default tracks.