This is a regression introduced by rBd8b00a3bf5c1 (Freestyle: memory consumption optimization in stroke rendering). The issue was caused by uninitialized MPoly::mat_nr values. Before the stroke rendering optimization, individual Freestyle strokes were represented by distinct mesh objects, and thus MPoly::mat_nr was left unset (i.e., was always zero). Now that the stroke rendering optimization has been done and mesh objects may represent multiple strokes of different materials, MPoly::mat_nr had to be properly set to the material index that refers to the material of the poly face.