Calculate transaction fee for external addresses which doesn't belong to my local bitcoin-core server? I am doing transaction on addresses which are created outside of my local bitcoin-core server using third party lib. I am having its private/public key. I am 
 able to create raw transaction using "createrawtransaction" and also able to sign and send txn using "signrawtransactionwithkey" &amp; "sendrawtransaction" but when i am trying to calculate txn fee and adding change address using "fundrawtransaction" or  "walletcreatefundedpsbt", am getting error as "insufficient fund" but i have enough unspent btc on my addresses. So how we can calculate txn fee before signing and sending txn for external addresses?
"fundrawtransaction" and "walletcreatefundedpsbt" are wallet RPCs. They add inputs and change outputs from your wallet to aim for a specific feerate for the transaction.

These operations inherently require the relevant wallet. Change addresses are generated by the sender's wallet, and inputs have to come from the wallet of the sender. If you don't have that wallet, you simply do not have access to that information.

I don't know what advice to give you except to run these RPCs on a  instance of Bitcoin Core that actually has access to the relevant wallet.

If you do things entirely manually, the fee is the difference between the inputs and outputs of the transaction. If that fee value for the transaction you have is not desirable, you'll need to create a different transaction, with either different inputs, or by adding change yourself back to your own wallet.