I have reset the NVRAM on the Mac as per your suggestion. I then rebooted the computer and selected Windows at startup. I still get the issue.
The next thing you are suggesting involves removing the battery. I am wondering if I communicated the issue clearly enough:
I have installed Windows 10 on my MacBook Pro (mid 2012, non retina). The keyboard works perfectly fine when I am using the Mac OS, i.e when I type shift+2, I get the sign @ (which is correct). However, when I am using the Windows OS, when I type shift+2, I get the " sign. So the problem is when I use Windows, not Mac.
Previous versions of Windows used to have a sort of keyboard indicator (I believe on the taskbar, near the date and time) and one could just change the keyboard from English US to English UK. I think that would have sold the issue here but I don't know how to adjust the keyboard settings in Windows 10. I went to Keyboard settings to check and it is currently set as English UK, which is correct. I don't even have any other Keyboard/Language (apart from English UK) installed.
Does it make sense? Is it clearer?