We ran into an issue with Panopoly where the facet path was being incorrectly returned. In our specific case we were using panels to override the search results page at the path "search/site/%keyword". After performing a search the facet blocks all link to "search/site" instead of maintaining the keyword in the path. This is because of menu_get_item fallback option in search_api's getSearchPath() method.
I think the assumption here is that the keys URL param will always be passed, which is not necessarily the case. Additionally, it would seem that using the request_path method here is preferable, as it maintains any URL params which may have been passed.
Here's a patch which converts the menu_get_item() call to use request_path. This fixes the issue for our needs.