Hi there, welcome back to WordPress Trac! Thanks for the ticket.
Using DIRECTORY_SEPARATOR in core has been discussed several times before, most recently in #28811, #29726, and #44654. Since Windows recognizes both types of slashes, there is no strong reason for changing this if everything works as expected.
Anywhere in core or plugins where paths need to be compared, wp_normalize_path() should be used.
Some more previous discussions: #15598, #16457, #17494, #20849.
I still get a 500 Internal Server error when using the PATH retrieved by wp_upload_dir() function.
Could you provide the steps to reproduce the issue on a clean install? How are you using the path?