It's two pixels packed into each byte in the screen buffer. Which means each pixel is 4 bits. This can represent 16 different values not just 4.
Normally the kernel driver will remap it so that it's only 4 distinct values but if you use the EMPEG_DISPLAY_WRITE_PALETTE ioctl then you can get all 16 "colours" on the display.