Yes, that's indeed how it works. When you use getSymbol, you're not getting every symbol instance made from that symbol - just the one that you've targeted (such as your "pic" symbol).

However, everything inside the symbol you create (including other symbols) does come along when you add a symbol instance to the Stage. So for instance, if the pic symbol was inside a symbol and you called it from inside the same symbol (not from the symbol instance on Stage, but a child element or symbol within the symbol), then you wouldn't need to modify your code at all - it would just work, as all the addressing is relative to the parent symbol.