Ah, just had a closer look at the screenshot. It seems that the server sends Certificate Request message. The Certificate Request contains a list of all CA RDNs that are accepted by the server, (which can be an empty list, in which case cert signed by CA should be accepted).
It would be easier to debug the issue if you could post the screenshot of the server hello message from Wireshark.
My guess is that the certificate that you have set in the client was not signed a CA allowed by the server.
Your TLS config from the go playground looks OK, the one you posted here also.
I would suggest running openssl s_client with the -debug flag to connect to the TLS server and check if everything is OK on the server side.
The -debug flag should print all the client/server certificates, and the list of accepted signing CAs for the client certificate if you pass in one.
The same way you could run openssl s_server and use your go client to connect to it to debug the other side. It should not be necessary though.
I am suprised that the server doesn't terminate the TLS handshake if it doesn't receive an acceptable certificate. That is how my servers are configured anyway (Yes, this is configurable, and hence I suspect that the culprit is the server config).