[Android Q&A, Help & Troubleshooting] jmr0th:
For those who come after me, here is how the entire situation was solved from beginning to end.

This is a Galaxy S3 Neo with the display completely broken, no input, no output :( My PC is a Windows 10 laptop.

* Got odin (flash tool) I used 3.12

* Got twrp (from URL twrp.me and looked for my phone model) I used 2.8.7.0, it's important to have an official/correctly compiled one, otherwise adb may show "unauthorized" or whatever

* Got Android SDK platform tools (includes adb)

Now on the phone, I go to download mode, flash the new recovery and then immediately boot into recovery (otherwise the stock ROM, if still working, will replace the newly flashed recovery again by the stock one):

* Remove and restore power (remove all cables and battery, and put them back on)

* Careful, maybe the phone will start automatically after you give it power in some situations, you have to be fast

* vol-down + home + pow

* wait 8 secs

* vol-up

* start odin 3.12, should see COMx (Windows Device manager shows Samsung USB device)

** untick autoreboot in odin options

** flash new recovery to "AP" (twrp-2.8.7.0-s3ve3g.img.tar)

* remove power (cable + battery)

* restore power (cable + battery) and immediately hold down vol-up + home + pow

* inside recovery I can do anything I want using adb (Device manager shows USB composite device) like "adb shell cp -a /data /external_sd/" (ignore "can't preserve ownership" messages, that because you're copying from ext to fat, no worries here)

* copying to the external sd card was the way that worked, just using "adb pull /data" to copy the data directory didn't work because the Windows part of adb somehow could not create files on the local system, no idea

(I had Windows device manager running all the time with the "Universal Serial Bus controllers" branch expanded, in order to see what was going on. Maybe take a screenshot with nothing connected, so you see the difference.)

Finally, when you're in recovery there are no other layers. Must tutorials talk about adb commands while the ROM is running with USB debugging turned on, which is obviously very much different, and you don't get very far without root(ed ROM).

Now for the contacts, on this phone they are located in data\data\com.android.providers.contacts\databases\contacts2.db (use your favorite sqlite browser to view). Noone says this data is easily readable though ;)

Feel free to correct me if any of this is wrong =)

PS. I must add that during all of this I installed Windows drivers from different sources which made these things work YMMV

PS2. You may be able to use commercial tools in cases like this. However it depends on the level of brickage. I believe some have like advanced recovery options to retrieve files from broken phones where they will do automatically what I did here manually (flash new recovery and stuff). However you always need to make sure your exact device is supported, as always.

PS3. Now you have all the data. You will not be able to just restore another phone to the state in which the old phone was, but at least you have your data in some form. And you have the possibility of deleting everything left on the phone before recycling :)