It is somewhat dynamic, but the min distance from any factory or buffer point is established when spawned, so by changing it lower you're mostly allowing factories to spawn closer to future spawned factories. For 30% of the time and at the 0,0 point, instead of spawning a factory, the game spawns a buffer point which no factory can be within the X distance of (being what X was when it spawned). The buffer points are there to keep the starting area clear and because in my original testing the factories would end up very grid like and this was one of the ways I could fix it and gave it a more scattered feel.
Each point is also generated with a minimum distance randomly between 1mindistance and 2mindistance, but the first buffer point is set to a full 2*mindistance and once a point is generated that mindistance doesn't change.
I've considered making it more dynamic, though that would require changing my data structure, but might be worth it. Anyway, because you set you minimum to 900, you wouldn't expect anything in a HUGE area around your spawn, at least a 1800 circle. If you want to get a sense for how large that is you can try this game command in a fresh game:
/c game.forces.player.chart(game.player.surface, {lefttop = {x = -1800, y = -1800}, rightbottom = {x = 1800, y = 1800}})