TL;DR you put data through your ISP, ergo they know exactly how much data you put through them.
Even if data is encrypted and/or goes to a VPN the actual packets have a minimum of three pieces of information that can never be encrypted in order for the data to be transmitted at all.
Those three pieces are
- Source address
- Destination address
- Packet size
(If you run a VPN the packets will contain encrypted packets for the VPN to decrypt and pass on but the external packet is still a packet itself, your ISP will know that you are sending data to the VPN IP.)
When you send any data through your ISP they will be able to collect aggregate data of what came from your current IP and how much of it there was. There may be far too much data for them to actively store it all, but that does not mean that they cannot keep a running total of packets and their sizes.
It may even be mandated by local laws that they actively log source, destination and amount of data transferred as well as any other metadata they have available. YMMV. IANAL.