Underneath the hood SFTP uses SSH but the same principles apply.
Generally, it is impossible to derive the public key from the private key. Hence we're allowed to share/publish the public key without any fear of the private key being compromised. You will use your Private Key to authenticate yourself to ServerA, and ServerA uses your pre-loaded publickey to ensure it really is you.
However, to answer your question, You will also authenticate serverA by checking its SSH key fingerprint. Basically the first time you connect to ServerA, you'll be prompted to save its SSH key fingerprint (which is a hash of serverA's public key). This will be saved locally on whatever client application you're using.
If someone managed to copy your public key -- and someone manage to hijack the dns/ip of serverA, and route all traffic from you to it -- you'd still be warned that the servers underlying public key has changed, and you should proceed cautiously. You might think "well what if the hacked serverA and got it's public key as well"
If they hacked serverA to the point where they could get the public/private key pair of the server -- they most probably already have access to your files as well :)