you will never achieve "full anonymity" when using bitcoin because it is not designed that way. everything you do is increasing your privacy to the point that you can be almost certain that you are anonymous. if you want full anonymity then you must use physical cash with some additional steps!!
- Why do we need to run Bitcoin full node or EPS (Electrum Personal Server) to provide full anonymity. How is it any different from using Trezor with Tor browser, or using Trezor with Electrum running on Tor?
to hide your IP address. technically a third party can figure out which transactions belong to you when you create and broadcast a transaction even though there are methods to make it harder. so using TOR would hide your IP and makes it even more difficult to figure out who you are even if they could find which transaction came from you.
running your own full node compared to using another node through your Electrum client also removes the fact that you have to send all your addresses to that node and it can link them all together.
- Do I need to worry about Xpub being transmitted any time when making transactions or just making sure during initialising it for the first time it does not get leaked?
it depends on the wallet type you are using, full nodes don't share xpub with the world since there is no reason for it.
SPV clients also shouldn't share your xpub with the nodes they connect to but that should be a case by case analysis of the implementation to be sure. but with most SPV client you are sharing all your addresses with the nodes you connect to so it still makes very little difference when privacy is involved.
- Which way is better? generating seed phrase using ian coleman offline then restore it on trezor to ensure Xpub is not leaked to ISP or any VPN, or to use Electrum offline with Trezor to generate seed phrase?
keys must be generated offline on an air-gap computer and never online. if it is online then you have more things to worry about than your privacy.