The problem is Amiri uses the Private Use Area. Once the box is built, there is no information about the direction of the glyphs. If the direction is set explicitly with
\babelcharproperty (I don't know the exact range), the text is rendered correctly:
% The following range is just a guess:
You may use this macro as a workaround, but I must investigate a better solution.