Hey there, i have just the concept for you! I will give you the rough outline:
The concept is based on the combination of a SearchFunction entity and SearchResults with Associated entities that you found
This is somewhat the outline, you could build it in such a way that you can reuse it in different places
Coming into this a bit late, but I had a similar issue to the OP, and solved it by adding an "extra" option to the final result of options from the API which has the value entered in the search box.
My lookup places the result in the "Address" field, and then copies it to "Label", while the item I add has the "Address" being the value entered, and the "Label" being Use "<entered value>"