I'm all for functionality, but git should never have been a smorgasbord of random bolt-on special cases. If you have to break the basic core functionality to make a feature work, it's not a good feature.
I never said jj was awesome. I've never used it. I'm already adept at git, enough to have opinions on its advanced features, and the knowledge to avoid them, so I'm not sure if I'd gain all that much from jj.
LFS is pretty crap, but the problem it tries to solve is real: version control should be able to control all the sources of the application, not just the text-based sources. Even if it can't meaningfully "diff" between them.