I see no benefit to your tag examples. They are compound tags, which are generally not accepted.
The way the autocomplete works for tags, if someone has a question about Heraclitus, all three of those tags (if they existed) would populate in the tag recommendation box by simply typing "heraclitus" (or even a shorter form of it like "hera"). As such, no benefit is gained by having all three.
Further, it is damaging to the search function.
If someone is interested in questions about Heraclitus, there is the potential that only one of the tags appears on a question, meaning that the searcher now has to view all tags containing Heraclitus rather than only one. It's much simpler to allow only the single tag heraclitus and expect that all questions on the subject include that tag.
Note that there is also what we call a "meta" tag. The tag philosophy on the Philosophy site, for example, is such a tag. There's no reason to tag something on that site as Philosophy as every tag on the site would have it.
As for technical concerns, there are a couple.
Questions may only have five tags maximum. This means that having dozens of potential tags for the same topic clutters up the tagging and makes it impossible to prioritize which tag to use. Fewer tags to choose from negates this issue and is the preferred option.
Tags that are not used on more than two questions and have no tag wiki or excerpt will be automatically deleted by the system after a certain amount of time. So if you create a tag and it's not used elsewhere, you'll end up with it disappearing after a month or so.
In relation to synonyms, I think you're overthinking how they're used here.
Synonyms are designed to be used when two words (often in versions of English) are both used for the same thing. Look at the existing synonyms list on any site you're a fan of... here's the one on Cooking. You'll see that all of the synonyms are either versions of the same thing (sweet-potatoes vs sweet-potato, flavor vs flavour, children vs kids) or are simplifications of tags (history instead of food history because "food" is implied).
Occasionally, a subject is too small for its own tag, so we combine tags into one. On cooking, an example is the pepper tag. Because someone might type "black" or "white" in before "pepper", we have the tags black-pepper and white-pepper as synonyms of the generic tag. This is different than your examples. "Black pepper" and "white pepper" are actual ingredients. They are a thing, we as a site went through a meta discussion and decided to use one tag for this instead of three.
You'll notice, however, that the tags on the synonyms list aren't what I'd consider a "compound tag". A couple of them have unnecessary "food" or "cooking" terms that were stripped out for the master tag but most of them are literal synonyms, pluralizations, or tense changes on verbs. I don't think any of these are examples that equate to the examples you came up with in your question title.
[tag:tagging]
) in comments, posts, or chat will create a link to that tag on the site you're on (if it exists) and in a per-site meta, it will link to the main site instance of the tag."is it okay to encourage users to err on the side of over-kill, (for searchability), or are there certain technical limitations that should be kept in mind? What is the reasonable limit to tag-synonyms?"
.... Feel free to suggest an edit.