In others versions you were able to remove recipes from RecipeIterator. Check https://hub.spigotmc.org/stash/projects/SPIGOT/repos/craftbukkit/browse/src/main/java/org/bukkit/craftbukkit/inventory/RecipeIterator.java#47
So, in 1.12 it seems that Minecraft Server returns now an immutable iterator, and when the server executes removeFrom.remove(); it throws an UnsupportedOperationException, from Guava.
As I can see in net.minecraft.server.RegistryMaterials, recipes comes from RegistryMaterials and that class is not decompiled for me.
A solution could me a patch to remove Iterators.unmodifiableIterator from the internal minecraft server class, but it maybe will break crafting book...? I don't know how it works
An usefull thread with more info is https://www.spigotmc.org/threads/problem-remove-recipe.242988/