Things seem to be working now; I can reach my slskd profile from other user profiles, browse and download shares, etc.
I didn't need to mess with my router at all. Instead, I made use of this guide to enable slskd's baked-in gluetun integration with a control server.
I am still a little confused about why I needed a control server, and it seems to be forwarding the wrong port, but things appear as they should on the client side.
I'll comment my compose.yaml under this. I hope this is helpful.