Personally I prefer cloning for the sake of ease of access in a game structure. I never instance reusable assets unless my structure or code explicitly demand for instancing. Just be wary that keeping assets live in your game takes up memory. Not the biggest concern but when that number starts creeping up (memory use), it starts to become one.
There are a couple of fundamental principles to consider when handling game assets, such as ensuring to destroy anything you don’t actively use anymore. As far as storage goes though, you’re fine to store them in a storage service. A lot of developers follow this pattern - I’d be surprised if that wasn’t true.