Penalties in the Translation Provider API

I have a working MT engine plugin developed against the Translation Provider API. It's working in Trados 2017 and Trados 2019. I'm encountering the problem below in Trados 2017 (it may occur in 2019, haven't tried yet).

I would like to apply a penalty to the output of the MT engine. In "Project Settings" -> "Language Pairs" -> "Translation Memory and Automated Translation", I add a penalty setting. However, it's ignored when the engine populates an output segment in the editor view; the score is whatever score is set in the code in the language direction:

            int score = 90;
            tu.Origin = TranslationUnitOrigin.MachineTranslation;


            SearchResult searchResult = new SearchResult(tu);
            searchResult.ScoringResult = new ScoringResult();
            searchResult.ScoringResult.BaseScore = score;

There are two properties in the translation provider that look like they'd be useful:

public bool SupportsPenalties
{
    get { return false; }
}

public bool SupportsScoring

{
    get { return false; }
}

However, changing these values to true makes no difference whatsoever.

What's the proper way to have penalties for MT engines accounted for?

Thanks in advance.