Restricted user capabilities cannot add image

You haven’t missed any capabilities. User should be able to insert images into the editor with these capabilities.

The only problem I can think of is that, you are trying to modify the capabilities of a role which won’t work.

See this section

If you are defining a custom role, and adding capabilities to the role using add_role(), be aware that modifying the capabilities array and re-executing add_role() will not necessarily update the role with the new capabilities list. The add_role() function short-circuits if the role already exists in the database.

The workaround in this case is to precede your add_role() call with a remove_role() call that targets the role you are adding.