Applying a boost there doesn't really accomplish anything. Boosts are used to enhance the impact of a subquery within the overall query. So it would be something like this:
QueryBuilders.boolQuery
.should(mltQuery.boost(50))
.should(someOtherQueryBuilder);
There, your mlt query would be boosted to 50 times it's normal score relative to the other subquery.
The particular reason that changing the boost may even result in lower scores is because of the queryNorm scoring factor. The overall score is multiplied by:
1 / ( q.getBoost()2 · ∑ ( idf(t) · t.getBoost() )2 )1/2
This is designed to make the overall score of results sets be very roughly comparable. For more, check out Lucene's documentation of the scoring algorithm, and Elasticsearch provides an explanation as well.
The thing to bear in mind is that scores are really only useful within the context of that particular query. Attempting to save scores and/or compare them against the results of other queries is not a good idea (even with queryNorm around). I get the impression you are trying to normalize scores. Please see this question:
how do I normalise a solr/lucene score?