In F# there are two distinct kinds of type providers. The more common and simpler ones are erased type providers. And the more complicated ones are generative type providers.
The distinction is very important for C#, because:
An erased type provider is just compiler magic. It is a way to make sure your code is well-formed, that you are using the underlaying API correctly. But this is compile-time only and no types are generated. Instead the underlaying type is used as an internal representation. This kind of type provider is not very convenient to use from C#, because in C# you only get the underlaying types.
A generative type provider is a true code generation step at compile-time. In this case types are generated and therefore actually exist in the assembly and can be used from C#.
The problem you are describing would be exactly what one would expect from an erased type provider. Whereas the underlaying type is just a tuple, but no nice type like a class or a record is generated. And you cannot use the F# names in C#, unless the type provider were to be written differently as a generative type provider.