Hi I think it is same issue.
If a change the default serizalizer, the problem is on BootstrapAsync (file CouchbaseBucket.cs line 270)
BucketConfig = await node.GetClusterMap().ConfigureAwait(false); I got null BucketConfig I supposed because serialization changed - so bootstrap failed with null exception because BucketConfig == null.
The question is - on version 2.x you can registered your own serializer is this changed in 3.x.
I also saw that on (Upsert)Options we have posibility to set transcoder, but i really want set this globally on cluster options.