Read what the drive claims
The reported size comes from the controller, not from the memory. That is why a counterfeit stick shows the full size in Explorer and fails later.
Get-Disk | Where-Object BusType -eq 'USB' | Select-Object Number,FriendlyName,Size,PartitionStyle,SerialNumber
Get-Volume | Where-Object DriveType -eq 'Removable' | Select-Object DriveLetter,FileSystem,Size,SizeRemaining
Get-CimInstance Win32_DiskDrive | Where-Object InterfaceType -eq 'USB' | Select-Object Model,Size,SerialNumber