At a guess...
The delimiter for hierarchical tag browser entries is '.', not ','. And ending with '.' causes the hierarchy to break.
That is, "A,B,C." gives you an entry that is "A,B,C."
If instead you do
{#series1:||.}{#series2:||.}{#series3}
You should find it works. Notice that I did not include the '.' at the end of the template. Having '.' at the end of the template forces the result to be treated as a non-hierarchical value. In my test I used a mix of custom and built-in fields:
{#titlecount:||.}{#pagecount:||.}{series:||.}{#pub series:||.}{#pubseries_index}
giving me
With the trailing '.', I get
- 1.10.hf.119222.
- 1.10.hf.119223.
Which brings up another observation: this works if and only if your last entry in the template exists. If it doesn't, but one or more of the entries ahead of it does, then you end up with a spurious trailing '.'.