It’s on the incoming roads, but doesn’t state where exactly. For countries, where the traffic lights are on the opposite side of the crossing, putting the highway=traffic_ligths
on the actual location of the traffic lights wouldn’t work. I don’t think that there’s a globally accepted “best” way to do it, but because of the problem with the traffic lights being on other sides of the crossing, I personally prefer to put the on the stop line. But there is no wrong or right, as long as it’s on the incoming road, close to the crossing/lights, but before the actual crossing.