filter_by_trip_geometry() would work exactly like filter_by_sf().
filter_by_stop_location() would, on the other hand, filter only based on stop locations. Given a bbox/polygon, the function would keep/drop the stops located inside the polygon and the entries related to them.
Both of them would receive a sf object, which would make the name filter_by_sf() a bit ambiguous (arguably it doesn't communicate the function behavior very well even considering the current behavior alone, as shown by the several issues that have been opened addressing this function). So I think the best way forward is to soft deprecate filter_by_sf() in the release, warning that filter_by_trip_geometry() should be used instead, and to hard deprecate it in version 2.0.0.