Kindof like the difference between running "$RED" and "echo $RED". Both work, but the former
involves sh in a different way.
A extra shell is not a show stopper.
Not an overall show stopper, not at all. However, I was not being picky or pedantic, such issues can make a difference, and can be a show-stopper for some issues (or at least require unexpected workarounds).
I created a front-end system for yasr, speech-dispatcher and espeak just over a year ago; a project called foksyfeyer, which attempts to increase accessibility to computing for the visually impaired (and particularly for those who are entirely blind). As part of that system I also wrote an interprocess comms utility (a simple shell actually) called "wiak" which uses system V message passing to communicate between processes under bash. "wiak" will probably work fine with busybox ash shell, but yasr certainly behaves differently and routines which can terminate the speech system no longer work because of the extra shell being left behind (the console freezes). Of course there will/might be fudges and workarounds, which would involve re-writing part of foksyfeyer (and the more universal a solution the better of course), but since bash is a dependency of the system anyway, making the soft link you suggested is the best solution for now anyway.
I do think it is important to avoid extra shells lying around. At a system level grabbing control of the shell and process handling is already an intricate enough task, as a C programmer, without the additional problem of different and inconsistent shell behaviours.
The extra shells should not be generated, they are a waste of resource and have no practical purpose, and can mess other things up! So no, there is nothing fussy or pedantic or trivial about the concern I reasonably raised; the comment: "Both work, but the former involves sh in a different way" trivialised the issue and was of no help at all.