The Encounter date search parameter maps to Encounter.period. When Medplum indexes this into the database, it stores only period.start (falling back to period.end if start is absent):
This means all comparators (ge, le, gt, lt) operate against the single stored value, which is period.start.
So:
date=ge2026-01-01 checks if period.start >= 2026-01-01
date=le2026-01-01 checks if period.start <= 2026-01-01
It is not dynamic based on comparator direction. Both ge and le compare against period.start.