Got it -- yes, I understand they've changed. When I first posted I was sensing an issue that I clarified a bit more in my second post. It looks like the new implementation is poised to break some functionality. For example, a current -10 read/write hook will get clamped to a -2 read-only hook. This can be mitigated somewhat (I posted a ticket to GitHub), but there are still some nasties that can't be coded away. For example, anyone unfortunate enough to have used -2 or 2 as a hook priority in legacy code and expected to be able to issue a return from their function will be stuck in limbo (the hook will be read-only with no way of sensing the true intention).
I realize not every legacy edge case can be incorporated into backward compatibility, and I may be pointing out things that were addressed and dismissed long ago.