Is it possible to derive the hash of a smart contract deployment transaction using only a smart contract address? If so, what is the best way of doing so?
Yes, unless you need to automate it, the simplest way is probably just to use Etherscan.
Just go to etherscan.io and paste the contract address in the search bar.
Then in the "more info" section of the page about the contract you will see
ContractCreator: 0xabcd... at txn 0xabcd...
Click on the txn, and it will give you all the information about that transaction, including the hash.