I mean, yea, there's ways to do it with a different workflow. (And in GIMP, I've done exactly as you describe) But the mechanism + data flow in Photoshop also let you work naturally w/o those extra steps. The mental model of placing a physical filter on top of a physical image is mapped better to PS's method. Say you want to draw on a layer under the filter? In Photoshop you can just do it, and filters above the layer will be updated properly. (I imagine in PS this mechanism permits better data/memory management) By duplicating layers, I imagine GIMP has to keep extra copies of the data around that it cannot discard, because it cannot re-compute it.
Mind you, I haven't used Photoshop in years and GIMP (or Krita) has proven well enough for the image work I need to do. This is just one thing that stuck with me from 15 years ago!