fusefs has three sysctl-selectable cache modes: uncached, writethrough, and writeback. Writeback mode is supposed to be the highest performance. It's supposed to cache dirty data in the kernel and flush it occasionally, like UFS does. However, it's never actually worked that way. Instead, it writes through immediately. Fixing this would probably be as simple as replacing the bwrite calls in fuse_write_biobackend with bdwrite. But doing it correctly will require a little bit more work.
Fixed by r349038.