The motivation appears as follows:
A pc-relative branch with 26 bits can reach +/- 128MB, which is a 256MB range. For code in the middle of a code segment, it can reach anywhere in that range. However, code that is near either the beginning or end can only reach 128MB of that code segment — the code at the beginning can reach +128MB and the code near the end can reach -128MB and so for them half the reach is "wasted". Thus, the maximum code segment without concern or mitigation is 128MB.
By using a more absolute notion, all code — whether near the beginning, middle, or end of a code segment can reach a full 256MB range.
The downside to this approach is that code segments effectively need to begin on 256MB boundaries (i.e. without severely complicating linking), limiting the count of code segments to 16 in total.
Using a large pc-relative displacement instead would limit the size of a code segment to ~128MB, which is still huge, and, would have removed the code segment count limitation, since all code would be pc-relative.
RISC V has done away with this approach in favor of pc-relative addressing — though the largest displacement in 1 instruction is smaller at 21 bits, meaning the 1-instruction call model may fail when the code segment is larger than 1MB; the next model uses 2 instructions (AUIPC & JALR) to perform pc-relative branching/calling with a 32-bit range (i.e. +/-2GB).
The RISC V toolchain also supports "Relaxation", which means that the linker can shorten multiple instruction branch or data reference sequences when the actual displacement allows (making the compiler put out fixups even for internal branches and label deltas, since the generated code's size may change internally!).
I'll see if I can find some reference, though the logic seems to make sense.
From "MIPS® Architecture For Programmers Volume II-A: The MIPS32® Instruction Set, Revision 5.04", on Page 142 (J instruction; p. 143 JAL instruction).
Programming Notes:
Forming the branch target address by catenating PC and index bits rather than adding a signed offset to the PC is an
advantage if all program code addresses fit into a 256MB region aligned on a 256MB boundary. It allows a branch
from anywhere in the region to anywhere in the region, an action not allowed by a signed relative offset.