I don't think you're wrong, I have used D for 19 years and don't really use the UFCS dot style, it requires too much context. Just loops are more readable. In D you don't have much decisions forced on you tbh.
I just wrote a somewhat bigger program in D and I mostly used UFCS chains for the toString() overrides to have better debug outputs.
There are also some idiomatic forms that are frequent like conversion
bar = foo.to!int is much more readable than bar = to!int(foo)