I do both depending on what the final product needs to look like. On the Tree of Life image below, I stained the plywood with cinnamon dye stain and then put about five coats of polycrylic over it. Once it had cured a bit, I put it in the S03 to cut the image.The lines here are natural
In some cases, I want the lines to be white as in this Tree of Life version. Here, I painted the surface green, applied four to five coats of poly and routed the pattern. Then I slopped paint into the routed lines. When it dried, I sanded it with 220 grit sandpaper, which removed the paint outside of the lines but didn't dig into the green because of the 4 to 5 coats of poly.
Finally, there are times when I want dark lines. In that case, I'll rout the lines first and then apply the stain. The stain will clump up in the routs and be much much darker than the rest of the surface. Even light stains like honey will be very dark in the grooves.
One of the advantages of using poly before cutting is it can help hold down the expansion of the wood after routing the lines. Often, the routed lines will expand a little more in cross-grain areas once they get hit with a waterbased finish which will lead to uneven line thicknesses. Putting the poly on before cutting the lines seems to reduce this a little. Don't use waterbased, you say. I can't use oil-based stuff because my neighbors (rightfully) complain about the odor.