The most important thing is that, with all these changes, we don't make it a whole lot harder for people to "just use SilverStripe". This comes down to
how these changes are approached more than
whether we do them.
Regarding HTTPRequest/Response, I'm much more interested in making the rest of SilverStripe work with any PSR-7 compatible implementation than am I with swapping one specific library with another specific library.
One way to start this would be to extend our current classes or add a wrapper to them so that they are PSR-7 complaint, to deprecated the non-PSR-7 accessors, and then to rewrite all the code that depends on HTTPRequest/Response to use the PSR-7 accessors.
If that is done, then shifting to another PSR-7 implementation in the future (or to do so on a different project) should be a lot more straightforward.
The other thing I would say is that developers should be able to mix and match different libraries, components, and capabilities of SilverStripe.