Could be an interesting hint for those using CSOM search API: why are some of the results not returned?
Is it trim duplicates setting? No.
Is it some wildcard settings of the result source? No.
If you do not set the row limit of the query, you will get by default only 50 items. However, you can increase it like that:
var query = new Microsoft.SharePoint.Client.Search.Query.KeywordQuery(searchContext);
Last line does the trick. Please note that – by default – 500 is the maximum value.
If you need to increase it, you can do it e.g. via Powershell for the entire search service application:
PS> $mySearchServiceApp = Get-SPEnterpriseSearchServiceApplication
PS> $mySearchServiceApp.MaxRowLimit = 2000
Hope it helps,