I'd hate to throw a spanner into the works here, but while this method creates a working Secure Enclave key, it's actually a different one:
let securityKeyData = try secCall { SecKeyCopyExternalRepresentation(publicKeyRef, $0) }
print(securityKeyData.hexEncodedString())
let cryptoKitKeyData = privateKey.publicKey.x963Representation
print(cryptoKitKeyData.hexEncodedString())
prints for instance:
04a14dc571ce3d1645304811794cc7b18aed4d3dfb07c5f40c0dab7efa109c2c0ebb3aa374ec385bb3864081a43b068f06577573cd06f36563ea0981ddb73f5a86
048698990ab597d7775652620bb6156f07cf8e65288f915e30ac4fcf051916ab0a14438b4cfc46322ef3676b0280feeec9799b4f82bc923de86d189e911b30c333
while one would hope that both outputs were equal.