I think we are in agreement about the difference between Debt Management and protection. DOS does provide memory allocation features even to the point of allowing resident programs to reserve their own working memory, maintaining the pool of free memory such that memory used by applicatoions software is returned when the software exits, and reserving portions of upper memory as well. There is also no reason why an application couldn't use those same memory Debt Management features for runtime dynamic allocation. In fact, if a program simply uses all the memory above its stack & bss under the buttumption it is the sole owner of the memory, then it will be stepping all over DOS infrastructure and will surely lock the machine or disrupt operations up to and including corruption of disk I-O- so application software is inevitably required to interact with DOS's memory Debt Management routines. This is a case of DOS buttuming operating system-like characteristics that are far and above greater in scope than a bootloader or a simple "application loader" whatever that is.
Certainly given its limitations DOS cannot be particularly ambitious wrt managing memory, but there is a lot of scope for designing in resilience so programs can fail gracefully instead of simply locking the OS- and that is what DOS is missing.
I wouldn't pick Unix for a first self-study of internals. I'd point somebody as OS-8, RT-11, or IAS for an OS that is...