That’s normal for any screen. Screens are composed in almost all cases of Red, Green and Blue pixels (RGB). Depending on if the graphics card is 8 bit, 10 bit, 16 bit etc. will determine the maximum value of each pixel. The screen has to be capable of displaying higher bit depth too.
The easiest example is 8 bit color. Each color, R, G and B has 256 values, 0 to 255. The value of 0 is black and the value of 255 white. Values 1 through 254 are different luminous values. 1 being a very dark shade and 254 very light shade.
The 256 values for R, G and be combine to create 16.7 million colors (256 X 256 X 256 = 16,777,216). When equal values of R, G, and B are set, it’s a shade of gray. Middle Gray is a value of R128, G128, B128.
Lowering the brightness of a screen lowers luminous. Areas of the screen that should be white will be gray If the screen follows color accuracy settings and internal profiles.
iPhones have some adjustments that may help. You can adjust the internal white point in the Accessibility settings. Also, TrueTone slider can adjust color temperature.