

Storing UI assets in a database is unusual because assets aren’t data, they are part of your UI. This is of course assuming a website - an application may choose to save assets in a local sqlite database or similar for convenience.
It’s the same reason I wouldn’t store static images in a database though - there’s no reason to do so. Databases provide no additional value over just storing the images next to the code, and same with localizations.
User-generated content changes things because that data is now dynamically generated, not static assets for a frontend.
I see no reason someone shouldn’t be allowed to ask for donations. If you want to accept donations, go for it. There doesn’t need to be a special reason to do so.
Donations should come without obligations though. If someone donates, yay, but donations should never be in exchange for something (that would be a payment).