I've been using underscores a lot recently, sorry about that.

I have already overriden the toArray method but it's only part of the solution. Every time a search happens, ultimately it will come to a Query::create. Since the Rescore extends AbstractQuery, it will currently add an extra top level of query and wrap the rescore parameters in it. So instead of
{'query':{}, 'rescore':{}} CORRECT
it will be
{'query':{'query':{}, 'rescore':{}}} INCORRECT.
The above place was the only way I saw to add support for Rescore without completely changing the way search works.