Hi Gareth, I also encountered this issue and did not receive any feedback with regards to this.
Perhaps you can try this for a solution, this is how I achieved the “one-to-one” association.
When the user selected to add an image I created an image object, if 1 already existed I replaced the previous one in the association.
You could also add a boolean to the image object ‘isDeleted’ and use a many to one association with the parent object. When the user “changes” their image, you mark the previous one as deleted and add the new image to the list of images. On the page side, you could use visibility properties as a means to display only the image that is not deleted.