No Router — SMB not working over WAN
As suspected by @klanomath in the comments (thank you!), the problem was that my ISP, Time Warner Cable, blocks port 445.

The solution was to change macOS's SMB listening port, which can be adjusted by editing /etc/services. Open the file and scroll down until you find two lines that read:

microsoft-ds    445/udp     # Microsoft-DS
microsoft-ds    445/tcp     # Microsoft-DS


On both lines, change 445 to a different, unused port. Save and reboot your computer†. From now on, you will need to append :port-number to the end of your IP address whenever you connect to your Mac via SMB.

Potential security issues aside, this solution feels very "clean" and allows me connect to my iMac via Finder, whereas a protocol such as sftp would require 3rd party software. While my own research has not turned up any concrete security risks affecting the latest version of macOS, anyone opening SMB to WAN should be sure to set a very strong password on their user account.



Credit to this answer on Superuser for pointing me in the right direction.

†If you opened the file in TextEdit or a similar graphical program, you may get a permissions error when you try to save. Either save in a different location and copy to /etc/ manually, or use sudo nano to avoid the problem.