I have been investigating this bug: ⚓ T97530 NLA viewport jumps upward when track search input is focused
The long & short of the reason why this happens is because the search bar is simply a part of the view region and is artificially being anchored to the top of the view in the draw code. When the text box is focused, it attempts to make sure the text box plus padding is totally visible in the region, hence the jumping behaviour.
To fix this, my initial thought was naturally to separate the channel area and the text box into separate UI areas. So I thought maybe I could make it so that the channel region has its own header that I could put the filter in, but it seems like a “space” can only have one header. Is there any precedent for this kind of “second header” separation in Blender? How might I accomplish this?