There must be a request to wallet provider's server with full node where they will check it. But what is sent?
The hardware wallet itself does not know your balance nor does it need to. It does not query anything or anyone to get that information. It is the software that knows your balances. The wallet software will ask your hardware wallet for a master public key, and from there it derives the addresses in your wallet, but not the private keys (private keys cannot be derived from the master public key). It can then use the derived addresses and look up their respective balances. So the wallet software that you are using on your computer does this lookup and tells you, not the hardware wallet itself.
When you send, your hardware wallet might say "sending X Bitcoin" on its screen. That is not because it knows the balances but rather because the wallet software on your computer communicated that information to the hardware wallet. In many cases, the hardware wallet does not care about the balances and the information will be thrown out. The amounts are only there in order to be displayed to the user for confirmation that the transaction should be made before it is signed by the hardware wallet.