I've gone through part of that myself so here's the stuff I do know.
If you want to make a version of your program for a certain platform, you do need to get that platform to compile it on. I didn't see any cross-compilation tools when I looked for them so I have no idea how Unity does it (I can only assume it's tricking a compiler into thinking it's on Linux). However, Linux is completely free and so are some VM programs that can virtualize it (personally I've been using VMware Player and the latest stable Ubuntu release) so it's not hard to get that setup.
You don't convert dll's to so's. Changing the file extension is easy, but they represent dynamically linked libraries for Windows versus Linux, which is not the sort of thing you can just convert. A Linux version of a library has to be compiled on Linux, just like any other program. But if you download SFML for Linux it'll come with all the libraries you need, just like the Windows version did.
I haven't learned about Linux packages yet myself but for very simple distribution you can just put everything in a .tar.gz file (tar archive, gunzip compression; 7zip can do this stuff) and have people download and extract that on their machines.