In IndexCatalogImpl::_isSpecOk(), we use NamespaceString::isOplog() to see if the collection we're verifying the index spec for is the oplog collection. See here.
However, NamespaceString::isOplog() calls NamespaceString::oplog() which has the following check:
static bool oplog(StringData ns) { return ns.startsWith("local.oplog."); }
The problem is that in IndexCatalogImpl::_isSpecOk(), our NamespaceString doesn't have the trailing "." that NamespaceString::oplog() checks for. Our NamespaceString would be "local.oplog".