Have you tried using the new <$hn> token? That’s a lot easier than attempting to manage resets, and will nest section numbers as deeply as your outline goes, automatically. For example “<$hn> Something” at the top level will be “2 Something”, and “<$hn> Something’s Something” at the fourth level will produce “2.1.4.8 Something’s Something”. Same token—automatically updates all integers based on context.
Right you are, I completely misread what you are trying to do. I don’t think this is going to be easily possible. I can think of a way to do it, but it is Really ugly, and it wouldn’t be able to use the compiler to hide it the prefix because it couldn’t be done procedurally, and honestly would only be a small step above hard-coding the numbers by typing them in.
There is the <$sn> tag, which automatically resets when <$n> increments—but that’s really only going to help you out at level two, not for level three. The problem is, you could use multiple numbering streams to get sub-section numbers like this. <$n:chapter>.<$n:section>.<$n:ssection> but the <$rst> token only works for basic counters, none of the iterative (<$sn>/<$hn>) or streamed/named counters—which is why it is just showing up bare like that and not doing anything.
If simple global <$hn> isn’t going to work for you, I would defer this to your word processor. Really the only non-insane way you can pull it off is by using different numbering types per level, since only basic counters can take a reset. So you end up with stuff like Five.IX.3. Ha—not quite what you want, I suspect. The insane way would be constructing a bunch of named streams and giving each section and sub-section a unique named identifier—basically abusing a system that is meant to be used sporadically for cross-references to tables and figures.