Let’s make a QR code out of a sentence two ways: mixed case and upper case. We’ll use Python with the qrcode library.
>>> import qrcode
>>> s = "The quick brown fox jumps over the lazy dog."
>>> qrcode.make(s).save("mixed.png")
>>> qrcode.make(s.upper()).save("upper.png")
Here are the mixed case and upper case QR codes.

The QR code creation algorithm interprets the mixed case sentence as binary data but it interprets the upper case sentence as alphanumeric data.
Alphanumeric data, in the context of QR codes, comes from the following alphabet of 44 characters:
0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ $%*+-.:
Since 44² = 1936 < 2048 = 211 two alphanumeric characters can be encoded in 11 bits. If text contains a s…
Let’s make a QR code out of a sentence two ways: mixed case and upper case. We’ll use Python with the qrcode library.
>>> import qrcode
>>> s = "The quick brown fox jumps over the lazy dog."
>>> qrcode.make(s).save("mixed.png")
>>> qrcode.make(s.upper()).save("upper.png")
Here are the mixed case and upper case QR codes.

The QR code creation algorithm interprets the mixed case sentence as binary data but it interprets the upper case sentence as alphanumeric data.
Alphanumeric data, in the context of QR codes, comes from the following alphabet of 44 characters:
0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ $%*+-.:
Since 44² = 1936 < 2048 = 211 two alphanumeric characters can be encoded in 11 bits. If text contains a single character outside this alphabet, such as a lower case letter, then the text is encoded as ISO/IEC 8859-1 using 8 bits per character.
Switching from mixed-case text to upper case text reduces the bits per character from 8 to 5.5, and so we should expect the resulting QR code to require about 30% fewer pixels. In the example above we go from a 33 × 33 grid down to a 29 × 29 grid, from 1089 pixels to 841.
Application to Bitcoin addressess
Bech32 encoding uses an alphabet of 32 characters while Base58 encoding uses an alphabet of 58 characters, and so the former needs about 17% more characters to represent the same data. But Bech32 uses a monocase alphabet, and base 58 does not, and so Bech32 encoding requires fewer QR code pixels to represent the same data as Base58 encoding.
(Bech32 encoding uses a lower case alphabet, but the letters are converted to upper case before creating QR codes.)