Hi @joshkrz — welcome to the forums!
You ask a great question. I also have several stacks with more than one PHP, and occasionally more than one MySQL also. As you found, the documentation states "you may create as many additional Terminal Presets as you wish." but unfortunately that is referring to an Indigo feature that is as yet unreleased.
The feature it refers to (as per screenshot above, some of which makes no sense 😜 ) is 80% complete, but after reflection I decided it was simply too complicated and 99% of users appear to have simply never needed it. Even in my own use case I would only have used it a few times. I should really remove that wording from the docs, sorry.
We have the philosophy of making 95% of things easy (usually with the GUI) and the remaining 5% of things possible (usually with overrides). So in that light, what you tried, or something very like it, should absolutely be the way to achieve this. To do so I would need to expand the override implementation a little, and also extend the current exports system to find the user-defined ones. Neither are too difficult, and I would love to implement this at some point.
In the meantime, there's a reasonably successful work-around, which is to create a second stack with the service versions you need accessible on the command line. Run it at least once so its services are all compiled. After that it should be accessible on the command line, even if the stack is not running. Indeed these presets work even if Indigo itself is not running.
Let me know how you feel about the workaround, and also if you have any thoughts on the override mechanism for when I build that out.