From reading through the code Mongoid uses ActiveModel for the mass assignment protection. That is exactly the same thing as in Rails but it seems the configuration is not hooked up completely.
From the implementation I could gather this is what happens:
attributes.rb assign_attributes
calls into processing.rb.
processing.rb
then calls the active_model sanitizer where the call ends up in sanitize.
The method that should raise the exception is: process_removed_attributes that gets overridden by the strict sanitizer class or the logging sanitizer.
You now just have to find out how to configure Mongoid to use the strict_sanitizer in this case. I'm investigating further but it seems this is strictly speaking a active_model configuration and has nothing to do with Mongoid.
What works but is not ideal in your case is assigning the mass_assignment_sanitizer
on the Model:
Modelname.mass_assignment_sanitizer = :strict
But this will only change it for this one model.
I simply can't find any sanitizer references in the mongoid config.