There are limitations on chipsets/firmware/drivers that can limit or prevent use of mesh. I haven't found any up-to-date information about what is and is not supported. iw list
will show you the available combinations, here from an Archer C7
[...]
Supported interface modes:
* managed
* AP
* AP/VLAN
* monitor
* mesh point
[...]
valid interface combinations:
* #{ AP, mesh point } <= 8, #{ managed } <= 1,
total <= 8, #channels <= 1, STA/AP BI must match, radar detect widths: { 20 MHz (no HT), 20 MHz, 40 MHz, 80 MHz }
"managed" is, as I understand it, "client-mode"
The output of iw dev <mesh dev> station dump
will show connectivity status.
On the routing, 802.11s routing only supports mesh clients themselves. It does not route or bridge traffic from "off-mesh" nodes transparently. As most client devices aren't mesh nodes, but are connected through "hybrid nodes", explicit routing or bridging is required. This is likely why mesh nodes can "see" each other, but off-mesh nodes don't have connectivity.
Static routing is the "simplest" to accomplish, but does not "play well" with roaming from AP to AP. Basically each AP gets its own subnet and supplies DHCP. All of the hybrid nodes need static routes for each of the "remote" subnets.
If you wish to bridge the segments of a single subnet, then you need to supply something other than just 802.11s routing. There are several approaches, each with its own set of advantages and disadvantages.
Static GRE bridging can be set up with the tunnel end points being the mesh addresses. 802.11s will find the "best route" from one mesh end point to another. This is very functional, but complexity grows as the product of the number of end points and number of gateways. It has the disadvantages that both ends of each tunnel need configuration to know about their peers. I have used this and it functions well. It was the administration complexity that had me explore other approaches.
B.A.T.M.A.N. replacing 802.11s routing is another option. It will accommodate connections between both nodes that have mesh connectivity, as well as those bridged to them. https://openwrt.org/docs/guide-user/network/wifi/mesh/batman
There are other routing protocols that can be used as well, such as OLSR.