BTC lite-wallet sends a bloom-filer request to bitcoin node about what is the current balance of the particular address. After that wallet will have a Merkle-tree prove that transaction is indeed on a blockchain.
Do lite-wallets store all headers since genesis block? A block header is just 80 bytes, however,
80 bytes *6 blocks/hour *24h*365d*9y ~37M which is a lot for a lite wallet.