How to change single pixels in a monochrome Canvas (LVGL v6)

I’m going to add some more information for clarity.
What I actually need to achieve is the ability to display bitmap images stored as byte arrays directly in a monochrome display (i.e. with 1 bit per pixel representation).
Using the default LVGL image representation would be a huge waste of memory (1 byte per pixel minimum, so 8 times what I actually need), thus I was circumventing this limitation by manually setting pixels in a canvas.

As this doesn’t seem to work I’ve resorted to implement a custom variant on the image widget that adheres to the byte array representation I’m using. It works perfectly and it’s probably better (performance wise) than the canvas. My originae issue still stands - though it’s now just for personal interest.