That search means this:
(*.cpp or (*.ino or (*.h and contains "sercom")))
You generally need to use sub-clause if you want to combine AND and OR conditions. (Standard boolean logic.)
But in this case you can do things even easier:
Name *.(cpp|ino|h)
And
Contains "sercom"
Full examples in this almost identical thread from a few hours earlier: How to find multiple file types