Как советовали в комментариях, решили эту проблему с помощью функции clone()
.
$query = $this->proposal->where('status', 'approved')
->with(['evaluations', 'user', 'contributions'])
->with(['reviews' => function ($q) {
$q->where('status','approved')->orderBy('created_at', 'desc');
}]);
if( .... ) {
$subQuery = clone($query);
$proposalsFoundByTile = $subQuery->where('title','like',"%$request->search%")->get();
...
$subQuery = clone($query);
$some_var = $subQuery->... ;
}