Driver bug, bindless image2D in std140-buffer

I am on newest driver (551.86) with RTX 3050 Ti and I have a UBO like this:

struct PointShadow
    samplerCube ShadowMapTexture;
    samplerCubeShadow PcfShadowTexture;

    mat4 ProjViewMatrices[6];

    vec3 Position;
    float NearPlane;

    layout(r8) image2D RayTracedShadowMapImage;
    float FarPlane;
    int LightIndex;

layout(std140, binding = 1) uniform ShadowsUBO
    PointShadow PointShadows[GPU_MAX_UBO_POINT_SHADOW_COUNT];
    int Count;
} shadowsUBO;

My shader only behaves correctly when replacing the image2D with a uvec2 and manually casting to image2D like that:
layout(r8) image2D image = layout(r8) image2D(pointShadow.RayTracedShadowMapImage);.

That lead me think that NVIDIA drivers dont correctly implement size/alignment of bindless image2D inside std140.

To test that I tried using std430 instead (with GL_NV_uniform_buffer_std430_layout) and indeed now I can again place image2D directly. But I dont see how std140 or std430 would make any difference in this case. The struct already is correctly std140 aligned and it doesnt require std430 on an other AMD GPU. So I think this is a driver bug.