Apply/replace image pixels runtime and force Blender use them?

I’m modifying raw pixel data on BlendDataImages object, the issue is that after I populate pixel prop data, it marks image as dirty and it wont update the view with new data. I cant use save feature because I dont want to modify any user-data at rest, nor create temp copies anywhere, I just want to use new pixel data runtime for viewing purposes on related objects (I dont care about Image Editor view where it IS updated)

Is there a way I can achieve this and force pixel data to be re-read by anything that references this image (UV/shader nodes)?

This sounds like it might be a bug. At least in workbench and Eevee viewport rendering I would expect the image to refresh.

Seems to be a double bug then, because not just update() wont do anything, but even if I forcefully iterate over all areas where the image resource is used and force area_tag_update - still nothing.