Does Bitcoin Core store these private keys in the application or in
the public ledger?
the private keys are stored in the wallet, along with the public keys. Never (!) ever you would show the private keys to someone else, otherwise you'll loose the funds! This is why wallets are also secured...
Are these private keys store on a private server by Bitcoin Core
No, as mentioned before, in the wallet software. If the developpers had access to the private keys, they could steal all funds... doesn't make sense.
When you sign a transaction with your private key, how does Bitcoin
Core know that this private key is related to your public address?
The link between priv and pub keys is by the ECDSA logic.
The answers here are fairly generic, and deserve probably a whole chapter of a book, but I think I'll reference to Andreas' book "Mastering Bitcoin". It is an amazing book that'll definitely get you to go. It's freely available online here: http://chimera.labs.oreilly.com/books/1234000001802/index.html