When I mentioned a 12-bit decoder in my example from 3 years ago I was describing an example of where the minimum slave size might be specified as 1Mbyte. So the system address decoder only needs to look at the 12 MSBs of the 32-bit address bus, because the 20 LSBs will be used to decode accesses WITHIN the 1Mbyte slave.
In the same description I also then described an example system where the minimum slave size was 4 bytes, requiring the system address decoder to decode 30 address MSBs.
I was trying to show that the minimum slave size chosen affects how complex the system address decoder has to be. Too small a minimum slave size and you have a ridiculously complex decoder, too large a minimum slave size and you do have a simple decoder, but fewer slaves supported (or more address space wasted to support physically smaller slaves).
As with all examples you need to read the full description to understand the context of the example.
So the AHB protocols decided on 1Kbyte minimum slave sizes, and AXI chose 4Kbytes, those being seen at the time as the best compromises between address decoder complexity and typical minimum slave sizes to avoid wasting too much address space.