I never had that impression when I was building projects with Elm, in fact, it felt like I was focusing on the app itself instead of the language and boilerplate. I compared it with JS mess though.
It's quite "vertical" though (which is fine, it just makes LOC comparisons a bit less useful)
That was my thought as well. From what I've seen, canonical Elm uses lines which are quite short.
It's a lot of lines, but how many characters is it?
Encoding and decoding of JSON usually adds huge amounts of boilerplate (in some small-to-medium-sized apps it might account for more than half of the LoC), and separating an app into modules requires you to add some boilerplate in your update functions.