I noticed that in Arabic’s mark feature the position of the mark over the letter can shift from a master to another, How is this even possible as far as I know the final .fea file contains one position for the mark
Depends on your anchor positions of course. And they are interpolated.
I guess the interpolation is not in the feature file ( that contains only the anchor of the default
master I think ) but in tables of the variable font (fvar table).
The variations are added directly and not through the feature code.
I build my variable fonts by building each master separately, then creating a variable font with FontTools varLib. Gives me more flexibility and avoids several bugs I had with Glyphs-built var fonts. The tricky part is writing a design space file, especially when using bracket or brace layers.