It is ok for the DPL0 and DPL3 segments to have the same base and limit. Then they indeed overlap but the reel security is done through paging.
0x20:0x0 Is address 0 in ram
0x10:0x0 Is also address 0 in ram.
Yes, the stack pointer and basepointer are relative to the BASE of the data segment.Is the Stack Pointer and BasePointer for the Stack, being set 0x20000 relative to the selected Data Segment?