The forge:ore_dict ingredient doesn't accept a data property, because it doesn't make sense to specify the metadata of an arbitrary list of items.
To allow a hammer with any damage value to be matched by the hammer ore name, you need to register the hammer to the Ore Dictionary using OreDictionary.WILDCARD_VALUE (32767) as the metadata value.
As an alternative to using the ore dictionary, you can use a compound ingredient anywhere you'd use a regular ingredient. Simply use an array of ingredient objects in the JSON instead of a single ingredient object. This will create an ingredient that matches any of the items matched by its child ingredients.
If you need to use this compound ingredient in multiple places, you can specify in _constants.json like this and reference it in a recipe like this.