It’s mainly about exception of code in accordance to event queue. Your initial block and $display are scheduled to execute in the active region and hence the race condition. Because of the $strobe the value printed are the values at the end of the current time stamp. i.e stable value. You may even try to #0 delay before your $display that would also work but that is not a suggested way.