Blender 3.0 recently gained the ability to join any screen area to any neighboring area. This patch does not remove any of those improvements. With this patch applied you can still do all those new fancy joins.
What this patch does is constrain some of the odd and extra bonus features. In a nutshell there was existing code that allowed these new joins to do strange things like change the source and target areas of a join while in the middle of the process. I had considered these to be free and harmless, but it does cause some confusion and there is potential to accidentally join the wrong areas if you are not careful.
So this patch leaves in all the ability to join everything, but just makes the process almost exactly the same as what we are used to.
The following is a capture from 2.93, showing how moving out of the target area won't allow a join to proceed. But drag back in and you can do so.
With this patch applied this process is exactly the same. So it no longer assumes that you have changed your mind and want to join with the neighbor to the left.
You can, of course, still join that area to the neighbor to the left, you just have to start with that intention, rather than pivot to that mid-operation.
I tried many combinations trying to keep some subset of the retargeting, but just wasn't happy with any. This way always feels obvious and predictable.

