Well, it probably works the same way most sprites (bitmaps with transparency) are blit onto the screen.
Basic computer sprites primer:
One palette index is set as the 'transparent' index. This happens to be index #0 in the palette for all the OP2_ART palettes.
This index is used to create a mask (which is just a 1bpp bitmap, with the transparent parts set to white (1), the rest set to black (0)).
The next part, it helps if you have some understanding of how boolean operations work.
The mask is then AND'ed with the pixels on the screen where the image is to be drawn. The black part (the non transparent portion) just turns the part where it's ANDed black, masking out everything but the nontransparent area from being modified.
The actual image is then drawn over that masked out area with the OR operator, with the transparent parts of the bitmap being black (so it won't damage the masked out part). The black pixels turn whatever color was in the source bitmap at that location, and there you have it, it's transparently blitted.
This is how virtually all programs do it. One color is chosen as the transparent color, and is used to mask the transparent areas from being changed. (Well, I guess some programs use separate 1bpp bitmaps for masks. Kinda a pain in the butt if you have to change the image however, because you have to update the mask. It's easier to just assign one color transparent)
This is the same reason that when you extract certain images from programs' resources, the background is a bright pink color. (This color is used as the transparent color and again, is used to mask out those pixels)
OP2 does use 1bpp bitmaps to produce shadows. (It's ANDed with the display as before to darken the ground underneath it, creating the shadow effects).