Ok so this is not a compressed image. Method 3 indicated at position 30 is BI_BITFIELDS which specifies where to get the red/green/blue components in each pixel data. But those bit fields (at position 138) are not set properly, they indicate RGB order whereas this file, as it is generally the case for BMP, is in BGR order. So when you load it you get those colors swapped.
In LazPaint, you can see that by swapping red and blue colors using "filter function". Or by code using SwapRedBlue function.
You can indeed fix the file either by setting 0 as compression method, or by changing the bit fields to 0000FF00 00FF0000 FF000000 instead of FF000000 00FF0000 0000FF00.