Passphrase works in Bitcoin QT, but does not in Bitcoin Core
The problem described seems quite strange. I don't know what's preventing you from unlocking the wallet.dat. I think this might be caused by InputMethod/halfwidth and fullwidth forms/CapsLock/NumLock... Double check these things before typing your passphrase.

At last, if you still cannot figure out what's preventing you from unlocking the wallet, you could try to export your private keys on your old PC, one by one.

On your new PC, if you have finished the initial syncing with latest version of Bitcoin Core, you may open the debug window, switch to the console tab, then try the rescanblockchain command. This should make your wallet balance up-to-date, which would take some time to complete.

Then, listunspent command would indicate which addresses your bitcoins are currently stored in. You may save the text, then copy it to the old PC.

On your old PC, launch bitcoin-qt. It doesn't matter whether the blockchain syncing is complete or not. Open the console, first use walletpassphrase 'YOUR_PASSPHRASE_HERE' 3600 to keep your wallet unlocked for one hour, then use dumpprivkey ONE_OF_YOUR_BITCOIN_ADDRESSES_HERE for each of your Bitcoin addresses.

Once you get all the private keys, you will be able to import them to almost any Bitcoin wallet.