Yes, this is exactly right. The asset needs to be issued as open, then you can use further issuemore API calls to update the metadata with a zero quantity.
An alternative is to just use a stream as the place to store the asset metadata, perhaps where the stream's name is related to the asset's name. MultiChain 2.0 (alpha 2) supports JSON stream items, and the liststreamkeysummary API can be helpful for "flattening" or "merging" JSON items together, to give the latest value for each key in the JSON objects.