That is caused by the grace notes. They always come in before the beat, so the program behaves according to this logic: "Let's start the two staves. OK, the top one has to have a treble clef, and the other has no clef specified yet, so let's put a treble clef in it too. Now put some grace notes in the top staff and a bit of empty space in the bottom staff. Hey! There is a bass clef in the bottom staff now! Let's render it!" etc. If you put a \grace s8 after your \clef bass, the musics will "line up" and the problem goes away.
In the PianoStaff, the time signatures are bound together: you change it in one staff, it changes in the other one too.* I'm not exactly sure how this works, but if you apply your サ hack to PianoStaff.TimeSignature instead of Staff.TimeSignature, it will start doing what you want.
Ditto for cadenzas. If you start/stop cadenza in one staff, it gets automatically started/stopped in the other.* So in your example, the music in the first staff ends earlier and the cadenza is stopped, so the cadenza is stopped in the other staff too, which results in a barline (and in a 4/4 time) after that. This will go away by itself as you will write the music.
(*: Experimentally established fact 😃)
I would also recommend a couple of little changes to make the code a bit cleaner. They don't change the output at all:
It would be cleaner to put your time signature overrides into your global variable. It's the best place to dump all such overrides into.
You don't need to \revert the time signature hack because it was overridden only \once, i. e. it works only for the next one occurrence of that object, in this case time signature.
I would also move the \layout block into the \score block for an extra bit of cleanliness.