The Preferences window's search feature does nothing when an extension-created page is currently active. (It does work, including finding text in the custom page, if any other page is active.)
Code:
static prefs_page_register_t page {
"pageid", "Page Name", &create,
0x9a, "", // parent page ID (Plug-ins, unknown parent idstr)
0, // won't have children
};
plugin_register("prefpage", reinterpret_cast<void *>(&page));
Looked into it a little bit in case REAPER was expecting my page to behave in a certain way to enable search. The Find button is doing IsWindow on a nonsensical HWND (1043 in my case) and giving up.
Overwriting that value to be the proper HWND of the custom page at runtime makes the search succeed:
...which leads me to believe this may instead be a bug on REAPER's side.