Hello. I managed to find a workaround by doing the opposite of what feels intuitive and it solved the issue.

I noticed that MPM solver caches state changes on first frame and it constantly kept ignoring VEX conditions in passive state, both in SOPs and DOPs.
On MPM Source I initialized the particles as Active instead of Passive. On MPM Solver I disabled "Enable Auto Sleep". We ultimately want all particles to be simulated so we don't need it to interfere with states. In MPM Solver dive target, I forced particles to stay still until trigger condition is met by using VEXpression inside popdrag and popdragspin nodes. I also forced points to keep rest position as long as the condition is met.
I also appended a hip file. I hope it helps!