I solved it by adding a new field in the search index, in WAF_Custom, with the first character as value:
public override void BuildSearchIndex(Lucene.Net.Documents.Document document)
{
base.BuildSearchIndex(document);
document.Add(new Field("FirstCharacterInName", Name.TrimStart().Substring(0,1).ToLower(), Field.Store.YES, Field.Index.NOT_ANALYZED));
}
And then using a custom query to filter on the new field:
booleanQuery.Add(new TermQuery(new Term("FirstCharacterInName", alphabetFilter.ToLower())), BooleanClause.Occur.MUST);
query.CustomQuery = booleanQuery;