How can I access Internal Storage + SD Card as a drive on Windows? On an unrooted Samsung phone, how can I access and modify the files on both /sdcard/ (internal storage) and the actual SD card, from my computer, as real folders and files (not PTP/MTP/etc which don't allow you to do anything)?   I don't care if it's over a physical cable or wireless, etc.  

I need to be able to delete files, move them from one folder to another, including from internal storage to sd card and vice versa, view their properties, measure disk usage, compare files, etc.  All the things I can do from a normal folder on my hard drive.

I've tried FTP server, SFTP server, etc. and nothing has ever worked.

The best solution I have so far is to take the SD card out of the phone, plug it into a card reader, and plug it into my computer, then run Servers Ultimate on the phone to share the internal storage over FTP, and mount that on my computer using NetDrive2.
You can use Samba server to achieve that, and for that purpose I'd recommend LAN Drive and it works without root and it supports  SMB1 (CIFS) and SMB2 protocols.
In this way, the device acts as a network drive where you can manipulate files/folders (copy/paste/move/delete etc) as if there were on local drive. However a little well known obstacle is that Windows can access a samba share only on TCP port 445, and on a non-rooted android a normal application can't listen on port 445.
As mentioned already in this post: Using SMB server without root access,

SMB either runs on ports 137-139 (UDP and TCP) using NetBIOS or on
newer systems (from Windows Vista onwards) directly on TCP port 445
where in the latter case computer names are resolved by the LLMNR
(Link-local Multicast Name Resolution) protocol which runs on UDP
port
&gt; 5355

.
Thus apps not running as root can't bind to unprivileged ports (&lt;1024). This is possible, nevertheless using TCP Port mapping. You need to install a port mapping software.
Instructions

Install the port forwarder - Multi Port Forwarder (the suggested one in App's tutorial)
Configure the port forwarder:



The rules we will implement :

Rewrite outgoing TCP packets to ip-phone:445 become ip-phone:1445





Cloning outgoing UDP packets to any:137 become any:1137




Cloning outgoing UDP packets to any:138 become any:1138 Note: We clone the UDP



packets to not break the actual network discovery.


Add TCP, UDP rules and save



Change the ports in the LAN drive settings, click the Save button and Start the server:



Go back to Explorer in the network places (Windows), and access LAN drive


Disclaimer: I'm not affiliated with LAN Drive software
Acknowledgements
LAN drive - Samba Filesharing Server SMB1 and SMB2