I know that that with multi_select you can add a list of predefined tags. What if this tags are not predefined but is the user itself that add it as.
The built-in multiselect doesn’t let you add options on the fly. You would need to set up a separate text input by which the user could enter a tag and have it added to the options list.
There may be a custom, community component available if you search for it, but just collecting new tag submissions via a different widget would likely be the simplest, out-of-the-box solution.