Not strictly an OpenWRT question here, but I know that the knowledgable people here will help!
Am I right in thinking that it's OK to set up circular links between switches (that is to say, if I have 3 switches, connect A to B, B to C and C to A) so long as Spanning Tree Protocol is enabled?
In this scenario, it would create a fault tolerant situation where if the link from B to C failed, STP would automatically re-route packets via switch A (B to A to C)?
STP is implemented in software kernel bridges, it's not part of hardware switches. So you'd need to set it up so any potential loop goes through a software bridge with STP enabled.
Yup. I've actually explicitly disabled STP for a bunch of VPNs using tap bridges because STP causes significant initialization delays in just bringing the connection up.