Most Fediverse software supports image uploads, so there's no reason to use Imgur for image hosting. Hell, even on my small single-user server (atomicpoet.org), image hosting is easy peasy. Not only is Imgur not needed, they're an annoyance for those of us who are used to seeing images natively on the Fediverse.
I know habits are hard to break, but just remember: this isn't Reddit 🙂
How does images work with federation? If 1m users on a big server look at my images that I posted on a small server, is that small server hit with that traffic? Or is all servers caching the image?
Depend on how it's setup. Some servers are setup to cache images, some don't. Mine for example doesn't and streams directly from source instead so i don't waste storage.
IIRC all text and posts are cached on each server that is federated with one another, while images are just referenced and loaded from the server they were posted on, so if you had an image post on your server, anytime someone wants to load that image it would hit your server