As a workaround, an instance :namespace method can shadow the class method, e.g.
    class Resource
      include XML::MappingExtensions::Namespaced
      # Shadows Namespaced::ClassMethods.namespace
      def namespace
        @namespace ||= DATACITE_4_NAMESPACE
      end
      def fill_into_xml(xml, options={ mapping: :_default })
        @namespace = DATACITE_3_NAMESPACE if options[:mapping] == :datacite_3
        super
      end
      # etc...
    end