TL:DR; Inserters wait if an assembler has 'enough' materials in it, however they don't take crafting speed into consideration, so it runs out of materials between inserter swings, meaning it definitely never had 'enough'.
Here's the blueprint I made that lead to this discovery: https://pastebin.com/pwLPDH5y
Perhaps this is too minor to consider a bug, however it is aggrivating that the only reason this blueprint doesn't function as intended (4 fully compressed blue belts) is due to something outside of my control. This machine should produce 4 fully compressed belts of output, but doesn't due to an iron shortage. 3 blue belts of iron,
The green circuit makers periodically stop producing, due to running out of iron. This is despite having 2 inserters* leading into it with what should be enough iron. The reason it's running dry is because the inserters are waiting around until the machine drops below a threshold of its internal supply of iron to insert more. However the time it takes the inserters to pick up more iron and put it into the machine is more than enough time for it to go from that threshold buffer to 0, resulting in the machine stopping.
My request would be to make the internal buffer of assemblers take crafting speed into consideration, similar to how copying the settings into a requester chest does. Else, give some way to control how much internal buffer an assembler is allowed.
*the reason I'm using a stack + fast instead of 2x stack is due to this bug. Testing revealed the combo to be slightly faster as it helped alleviate this issue, but not entirely resolve it.