Ligatures in (Graphite) TrueType fonts

When using ConTeXt MkIV (i.e. with the LuaTeX engine), I’ve noticed that ligatures don’t work properly for some TrueType fonts, even though they do work in LuaLaTeX or even LibreOffice.  As far as I can tell, the common link is Graphite, but that might be a red herring.
As an example, I’ll compare Charis SIL (TrueType/Graphite), DejaVu Serif (plain? TrueType), and Linux Libertine O (OpenType).
ConTeXt:
\usetypescript[charissil]
\usetypescript[dejavu]
\usetypescript[libertine]

\starttext

\title{\CONTEXT\ MkIV}
\tfd

\setupbodyfont[charissil]
Charis SIL: Difficult

\setupbodyfont[dejavu]
DejaVu Serif: Difficult

\setupbodyfont[libertine]
Linux Libertine O: Difficult

\stoptext

LaTeX:
\documentclass{article}
\usepackage{fontspec}
\begin{document}

\section*{Lua\LaTeX}
\Huge

\fontspec{Charis SIL}
Charis SIL: Difficult

\fontspec{DejaVu Serif}
DejaVu Serif: Difficult

\fontspec{Linux Libertine O}
Linux Libertine O: Difficult

\end{document}

Output:

As can be seen, Charis SIL lacks the proper ffi ligature in the ConTeXt output.
So, how can I use Charis SIL properly in ConTeXt?  I’ve tried a few ligature options to \definefontfeature, as listed in the ConTeXt manual, but these make no difference and seem to OpenType-only.

The Charis SIL enables the ffi ligature for latin scripts. Either activate this feature locally
\setupbodyfont[charissil]
{\feature[+][latn]Charis SIL: Difficult}

or globally
\definefontfeature [default] [default] [script=latn]