I just got Gun Specialist on -7/Factory, in the middle of a run, which was unexpected. I expected it wouldn't be determined until the run was over. Doing it this way means in theory you could get multiple X Specialist achievements in the same run (e.g. if I was to switch to only cannons now and do enough more damage that cannons became 90% of the damage done). It's possible this is intentional but I did find it a bit odd.