Which methods it uses? Does it really import all these addresses into currently connected remote node and then calls listunspent no matter how many addresses I insert into the wallet?
what you are looking for is not in Electrum source code but in server source code. the Electrum code is just the client that is sending the request to the Electrum node/servers which will then be processed by them and they return the response. they way servers work is that they have already indexed their blockchain (which is why it needs a much bigger disk space compared to a regular node) so they can look up requests easier.
i'm not really sure what code they use but i believe most of them are running this:
https://github.com/kyuupichan/electrumx