So, in Publishing Settings I use "use exisitng keystore" and next to "browse keystore" button I have a folder path but that folder doesn't exist on my PC. If I build the .apk, it doesn't give me any error, more than this, I can upload the .apk to Google Play Developer Console without problem(I don't get any error saying that I use wrong certificate). So my question is that, how can Unity sign correctly my app, if my keystore folder is missing? Where the keystore file is actually located?
What is the alias used for the your keystore? If it is unsigned (debug) it means the keystore used is in $HOME/.android/ or C:\Users\<user>\.android\ and doesn't really give attention to the keystore chosen via browse button. If you are using the signed keystore though, how did you create your keystore? If you create it through Player Settings it should be in the project folder, otherwise you had to pick a directory.
Yes, my alias is unsigned (debug) and I have a keystore file named debug.keystore in my C:\Users\<user>\.android\ directory. Is that my keystore?(debug.keystore is only 1.23 KB in size and my previous keystores from other game engines were 2KB in size)
Yeah, so your application currently uses the debug keystore, which is provided by android SDK and is also used in Android Studio and other software used to develop/test apps by default. I would guess, that your previous keystores were already made for release and that is why the size of the keystore differs - as the default.keystore uses default password/alias, not as much encryption is needed and it leads in smaller size (only a guess, but my keystores also differ similarly in size).
Latest versions of Android Studio prepares the keystore file with .jks extension but Unity looks for a file with keystore extension. Renaming the file with .keystore extension might help.