Hard drives (and SSDs) are marketed with a definition of 1GB that is approximately 1 billion bytes, but never exact, and usually not even the nearest multiple of 512. A typical 1TB drive is 1,000,204,886,016 bytes, and a typical 500GB drive is 500,107,862,016 bytes, so the effective definition of 1GB isn't even consistent when comparing across different drive capacities. In effect, larger drives have smaller gigabytes, but still larger than 1,000,000,000 bytes.
No, it's advertising 1,000,000,000 bytes. That's both the international and industrial standard. It's also what any reasonable person would expect the 'G' prefix to mean.
Nobody advertised as much. 1 GB = 1,000,000,000 bytes, and it's your own fault to consider otherwise. You're fighting a lost battle anyway, even (American) CS folk can't ruin metric prefixes in the long run, though it's a shame they tried.
The convention for how large a 1TB drive should be predates the use of 4096 byte sectors. And the box always says "1GB = 1,000,000,000 bytes" but doesn't specify capacity as anything other than 1000GB or 1TB, meaning the most precise measurement printed on the product packaging is also the least accurate.