How about using a special separator for castling? We now have x for captures, and - (or nothing) for non-captures. We could adopt ~ for castling. So in the orthoChess setup Kd1 or K-d1 would be a normal King move to (empty) d1, but K~d1 would be Q-side O1 castling. K~h1 would be K-side O3 castling.
This makes a lot of sense to me.