get_search_link() redirects to 404 template page

Confusingly WordPress does not have a concept of a simply search page, it only has concept of search results page. The difference is critical because search without search query 404s as you are seeing.

If you want dedicated search page you would have to implement it as custom one, see Codex > Creating a Search Page.