Maybe I'm missing something in your explanation, but wouldn't it be easier to sync the rotation of the board? You could even optimize it a lot because you said it rotates at fixed angles, meaning there's finite possibilities (if it's under 255 possibilities that's 1 byte per rotate instead of 4 or 12).
If what you want is to sync the movement of the cursor as well, then treat that just as you would the board. Don't try sending the logic over the network, just send the outcome (position and rotation).
I don't know how familiar you are with TNet, so I'll go more in-depth (you can ignore this if you're already familiar):
1. Create a board prefab
2. Create a cursor prefab
3. On both prefabs, add the TNAutoSync component and click the "Add a new synchronized property" button twice. This should add its transform twice, with a box to the right containing <None>. Click that box and select position for the first one and rotation for the second one.
Now whenever you instantiate those prefabs (using TNManager), their positions and rotations will be synced across the network. You can take a look at how the TNAutoSync script works and build your own syncing script.