Unfortunately “contains” has limitations, exactly as you’ve noticed: the phrase you’re typing need to be a part of a bigger phrase in the property you’re comparing to.
It will be quite difficult to achieve what you want in Adalo alone.
There is a “search index” approach: you create a separate field, where you put all the keywords related to the record, and then use “contains” filter. Here is a great explanation video: https://www.youtube.com/watch?v=ddf3dx-bIhs.
However you would like to be able to search based on a phrase, not on a word. This means that either you put all word combinations into the search index field (and you can imagine this will be complicated), or you use some 3rd party tool to search through the records in Adalo collection, and return the result to you (also it is complicated to set up and expensive to maintain).