Perl 6 syntax is more complex, in the sense the grammar is mutable.
That's not what "syntax" means.
I mean to say willn't it suffer from the same problem. If the grammar is muted runtime, shouldn't it be sent back to the parser. Which in case it won't be parsed statically(I can't take the bytecode alone and run it, I will always need the parser along with it).
Not sure it makes sense for the grammar to be mutated at runtime, since the source code will already have been parsed and generated by then.
You are correct in the sense that Perl 6 leans heavily on a way to switch between compile-time and run-time, so the two components need to be connected somehow. This is nothing new, though: BEGIN and &eval have allowed this for a long time in Perl.