Setting pixel Alpha to 0 changes RGB values as well?

You may just

auto c2{ outlineCanvas.getPixelAt(0, 0) };

PixelARGB uses premultiplied alpha -it’s stated everywhere in the docs. After multiplyAllAlphas (0.0f), RGB values are lost. As you have seen, this doesn’t happen with Colour. Any operations that require preserving RGB through alpha changes cannot be done on Images directly. You can see some discussion about it here.