According to the OpenWrt developer's post, when bridging these DSA port, the DSA driver is smart enough to do it on the switch only, without going through the CPU. It offloads the work to the hardware switch, relieving the CPU from unnecessary processing, but obviously the cheap integrated switch does not support STP. I never try to do that and really have no idea what will happen either.
To answer the original topic question, yes STP does work on my non-DSA devices. You will have to use VLAN to force traffic into the CPU and enable STP. It takes 20-40 seconds to realize a broken link and failover to another, in my simple home setup. I do not think plugging a cable to 2 ports is a good way to test STP though (I hope someone can explain why it does not work).