So what almost worked was:
pkcs11-id 'www.mysmartlogon.com/PKCS\x2315\x20emulated/8ef553487aadf787/GIDS\x20card\x20\x28UserPIN\x29/'
That gave me a crash/assertion error:
2021-02-03 13:28:58 PKCS#11: Adding PKCS#11 provider 'C:/Program Files/OpenSC Project/OpenSC/pkcs11/opensc-pkcs11.dll'
Assertion failed!
Program: C:\Program Files\OpenVPN\bin\openvpn.exe
File: pkcs11h-mem.c, Line 64
Expression: s!=0
But that gave me hope that I just needed the id (as you can see from opevpn output the id was missing (nothing after ";id=")
and then using "pkcs11-tool" to find out that the ID could be "00":
C:\Program Files\OpenSC Project\OpenSC\tools>pkcs11-tool.exe -O
Using slot 0 with a present token (0x0)
Public Key Object; RSA 2048 bits
label: client-xps15-892f8191-e384-4465-a-26720
ID: 00
Usage: encrypt, verify
Access: none
Certificate Object; type = X.509 cert
label: client-xps15-892f8191-e384-4465-a-26720
subject: DN: CN=client-xps15
ID: 00
the breakthrough then was using
pkcs11-id 'www.mysmartlogon.com/PKCS\x2315\x20emulated/8ef553487aadf787/GIDS\x20card\x20\x28UserPIN\x29/00'
and that worked.
I will make a bug report. The doumentation states that you can use the output of "openvpn --show-pkcs11-ids" but that's just not true right now.
The "openvpn --show-pkcs11-ids" should be changed to directly print what you need, without this undocumented manual conversion.