The cursor is merely a reference to positions in the query results, nothing more. So the query takes whatever params you give it to get the results, and then returns the results that are offset by either the before, or after, cursor.
If you don’t send the same params for subsequent requests what you’re essentially doing is pointing to a position in a set of results which may be bigger/smaller than your initial request, so it makes no sense to use a cursor without also sending the params.
The design is perfectly normal, the only issue is if the requesting dev were to incorrectly use them and change what prams they are requesting part way through the pagination process.