I think most apps allow you to post your own markup. So you can do something like this using Markdown:
[![A cute looking kitten.](https://placekitten.com/200/300)](https://placekitten.com/400/600)
Or like this, using HTML:
<a href="https://placekitten.com/400/600"><img src="https://placekitten.com/200/300" alt="A cute looking kitten." /></a>
Most apps have support for adding an alternative text description of images without resorting to custom markup. For example, in Micro.blog, add a photo to your post, tap it and choose Add Description. You can do the same in Sunlit as well.
Gluon has a handy feature. After adding a photo to a post, you can tap it and choose Inline Image. That exposes the underlying Markdown for you to customize as needed.
I haven’t tried it myself, but Mimi Uploader by Sam Groover looks like a good app for the actual uploading of photos.