Version that is sent by Client in Client Hello may not necessarily be the version of communication. It gets adjusted with what Server can support.
In your case, as you force the server to support only TLSv1, communication protocol gets adjusted to TLSv1(03 01) even though client supports TLSv1.2(03 03) Pre-master-secret needs to be constructed always with Protocol Version sent in Client Hello.