Oh nice, this is way better.
On finnicky engines, I think if I were to seriously implement this for a project that needed to support arbitrary images, I'd do the dithering server side (assuming it's possible to develop some heuristics to select the correct transformation based on image type (text, low contrast, blurry, etc)), serve those to users, and allow them to customize the colouring filters. That way the dithering looks as good as it can per image, but it can then still be stylized to a user's preferences.