Makie.jl - How can I have a label on top of an image plot?

You can translate! plots and scenes, but not layout elements. To make the Box and the Label visible you probably need something like

ax, p = image(fig[1, 1], ...)
translate!(p, 0, 0, -1)

If you want more control over your label you could try making it manually.

mesh!(fig.scene, Rect2f(200, 200, 50, 20))
lines!(fig.scene, Rect2f(200, 200, 50, 20))
p = text!(fig.scene, "(a)", position = Point2f(205, 205), align = (:left, :bottom))

fig.scene is in pixel units which is probably more convenient than axis. boundingbox(p) might also be helpful.