When your transaction gets mined, your balance will be updated.
There is no difference whether which client you choose. If your client is connected to same network, any transaction done by that client will be visible to every other client connected to that network.
In your case, your one client, private geth node, is connected to mainnet chain. And your other client, metamask, is also connected to mainnet chain, so the problem you are faccing is more likely due to following reasons:
- It is taking time for your transaction to get mined.
- You are sending transaction to different network.
I would like to emphasize again, it does not matter which client you are using. Ethereum mainnet is a single chain, and all transactions are visible to everyone.