Looks legal. The only thing is the startup. The fix:
##2 @(posedge slow_clk) |->
@(posedge fast_clk) |->
FF_fast == $PAST(FF_fast,2,1,@posedge fast_clk);
Can also do the following, which is more readable because the first implication opr is not needed