I’m sorry, I’m not following what your question or issue is at this point.
So taking a step back and starting from the basics as written in the docs:
Inline formsets is a small abstraction layer on top of model formsets. These simplify the case of working with related objects via a foreign key.
Now, keep in mind that a many-to-many relationship exists as the relationship between the two related models through a “join” table. This join table exists as a model with at least two fields - one foreign key to each of the two models being related.
In this case, you have:
class Recipe:
...
class RecipeFermentable:
...
and Django provides something like:
class Recipe_To_RecipeFermentable: # Totally fabricated name
recipe = ForeignKey(Recipe, ...)
recipe_fermentable = ForeignKey(RecipeFermentable)
If nothing else then you have the basis for using a formset from Recipe to the join table, where the fields being rendered come from the relationship from that join table to RecipeFermentable.
So yes, it will work - you may just need to work with the formset at a deeper level.
I don’t know how close this may be, but you may find this thread helpful as well. It may give you some ideas.