And what is the best way to eliminate this reduction in privacy? For example, if I send txs through another wallet, does that fix the problem?
Due to the way Monero works, sending to yourself actually increases your privacy, but why is that?
When you receive monero, they're always stored in some one-time destination(s) which only your wallet can access. Every time some monero moves, some existing one-time destinations are permanently spent in their entirety and brand new ones created by the sender, of the same total amount. Trick is, the new ones always have a random factor in them, so whether you send monero to someone else or to yourself - it's all the same to some outside observer, as there's no way to tell who owns the new destination. Only spending it could give away some hints, but that's why we have ring signatures.
A ring signature will add a factor of uncertainty each time the funds move. Say you actually move funds from one-time destination A and create a new one-time destination Z. Thing is, when you're spending from A, you're "pretending" to be spending from any of A,B,C,D,E which are equal members in the ring signature. So, someone can say only: Z originated from either A, B, C, D or E. Now, we spend Z to create X, and "ring" with F,G,H,I. Now, someone can say only: X came from either Z,F,G,H or I. Thing is, each of those has another 5 potential sources, and then each of those sources has 5 potential and so on... the deeper you try to go, more easily you get lost following a potential trail. So, the more transactions you move from some "hidden source", the link between it and final destination will be better obfuscated. It doesn't matter if both X and Z belong to you. When you move from Z to someone else, that means now there's at least 3 "hops" to get to your actual source of funds.