Да, это было намеренно не включено в документированный API. Перечисление открытых файлов никогда не может работать надежно в многозадачной операционной системе, вы не можете «заморозить» операционную систему и помешать другим процессам открывать и закрывать файлы во время их перечисления. Состояние гонки неразрешимо. Единственный документированный способ - попытаться открыть файл без общего доступа.
Да, NtQuerySystemInformation - это задняя дверь. Используется утилитой SysInternals 'Handle. И поддерживается ими, поскольку каждая новая версия Windows требует обновления утилиты.