After thinking about this for weeks, I just tried:
public function fields(Request $request)
{
return [
ID::make()->sortable(),
...
NovaRepo::Money('Price')->hideFromIndex(),
Without doing anything in the NovaRepo static method, and it just works! In other words, I didn't have to create an empty return $this or reproduce the name of the method in my static method.
I guess I was put off by PhpStorm saying 'Method 'hideFromIndex' not found in $this` and the fact that autocomplete wasn't working. I'm still not 100% why it's working but it appears the problem was incredibly easy to solve.