You have to think through how it would scale. An image you post could appear in arbitrarily many people's timelines simultaneously due to federation. If several thousand Mastodon clients all of a sudden try to load the same image from the webserver, that's a big spike it would have to handle.
One alternative would be for the client's instance to make a local copy on the first request, and rewrite the url so its users don't have to keep going back to the original. You'd get only one hit per instance instead of per user, but then you're back to storing a local copy anyway, so what's the gain?
@khird My idea was to be able to re-use an image that I have previously saved into the local instance in another toot.
After entering the image into a new toot, instead of adding a new copy, adding it to the users Media folder, it could point to the pre-existing copy and send the toot on.
I do not know how other instances handle the images in posts, but I think they request and keep a local copy, for local users seeing the toot.
the images get a long hashed name, and if the same image exactly was used, it might be in their local cache and save a new transfer and storage.