Newer languages/frameworks look great when you run through tutorials, but you're going to have issues once you need to do more complicated stuff. Very new frameworks are unlikely to have much documentation and discussions, which means that at some point, you're probably going to need cross your fingers and hope someone replies to your questions or dig into source code yourself. There's nothing wrong with this, it's just the cost of using something that isn't old and popular.
Maintainability for large projects and bad performance are an issue in whatever language or framework you use. A lot of the problems are avoidable once you move past relying on the magic of your web framework and understand how all the stuff you're using works under the covers. After playing with a few languages and frameworks, I'd say it's really useful to just choose one to become an expert in. Being an expert in one and knowing how to mitigate all the warts will help you infinitely when you do eventually move to something new. I think it's much more valuable to be an expert in one stack and intermediate in two than to be intermediate in 20 stacks.
If you have something you really want to build and are already comfortable with Java, I'd suggest just sticking with Java. Newer frameworks like SpringBoot or Play! remove a lot of the XML, if that's your primary complaint. Verbosity... well, every language is going to have something that doesn't match your personal aesthetics. A lot of the really verbose Java can be avoided by changing up your coding style.
If you're just going for self-enrichment, sticking with an FP until you're comfortable with it is great. Just be aware that you may never use the language/framework as an employee. But you'll definitely get huge benefits in your overall skills by learning an FP.