Doesn't honor search-invisible
The desired behaviour is when search-invisible is set to nil, don't search inside the invisible area. There are cases that the user don't want to search in the hidden area. One example is dired-mode with git-annex font lock enabled, file symlinks targets are hidden sha256 strings, it makes no sease to search those hidden symlinks. Another use case is org mode with partly folded headings.
Thanks for pointing out this problem. I don't have time right now to implement a solution, but I would be able to review and merge a pull request adding logic to handle the case. It should be rather similar to https://github.com/raxod502/ctrlf/issues/23, porting logic over from Isearch for compatibility.