With my Cabal maintainer hat on there are two important considerations:
* Make sure your patches make it upstream.
* Make sure that we make a Cabal release with your changes in it before the next GHC release you're targeting your feature for.
In the past we had problems with GHC HQ releasing packages at HEAD without upstream's blessing and sometimes with extra patches that never made it upstream (which leaves a big risk that these patches get lost next time upstream makes a release).
You can sync GHC's submodule to the latest Cabal HEAD and test to make sure your patches work there. Alternatively GHC HQ can have a local Git branch of 1.20 with your extra patches (but then really make sure that the above holds.)