I guess the "Krämer" part of your "Tandkrämer" is related to the Dutch "marktkraam" and the very old "marskramer"; the first is a market stall and the other was someone who came by with a large basket on his back to sell all kinds of things. The "kräm" of the Swedish "tandkräm" sounds French: crème.
That's correct. The kräm in tandkräm - and other similar terms for cooking and medicine - comes from French, likely originally from Latin cramum meaning "cream".
We actually have krämare in the shopkeeper sense in Swedish as well, although it's borderline archaic nowadays. It's from kram, basically meaning "goods", from a Middle Low German word for the kind of tent coverings used by salespeople.