The problem is in TCustomBufDataset.BuildCustomIndex in the unit .../fpcsrc/3.2.0/packages/fcl-db/src/base/bufdataset.pas
Changing the following sequence
..
F.Fields:=SortFields;
F.Options:=[];
F.DescFields:=DescFields;
..
to
..
F.Fields:=SortFields;
F.DescFields:=DescFields;
F.Options:=[];
..
solves the problem, but maybe arises some other inconsistencies.
That a second assignment to the IndexFieldNames seems to solve the problem is a side effect of how TIndexDef.SetDescFields in the unit .../fpcsrc/3.2.0/packages/fcl-db/src/base/db.pas works. It adds the value ixDescending to the index options, but only if the new assigned value is different from the former value and not empty.
Edit:
It is possible to debug bufdataset.pas by including the path in project options->compiler options->paths>other unit files (in my case /usr/share/fpcsrc/3.2.0/packages/fcl-db/src/base/).