Animmaniac's description is correct, and the seamless mode works around it by using a clamp-to-edge mode for individual tiles and then rendering them one by one.
Pre-drawing to an unscaled surface is a good idea, but I don't think it will work in all circumstances: if you scale the game down to 10% size, it'd need to render unscaled to a texture 10 times bigger then stretch it down. This would likely be slow, use loads of memory, and possibly fail if it exceeds the maximum texture size (sometimes as low as2048x2048). So I think for all cases to work correctly it does have to render directly to the screen.
The WebGL renderer is extremely well optimised for sprite rendering, and despite seamless mode having to render tiles one by one, it still seems to perform very well on mobiles. I guess the performance issue may have been overstated. However the bigger problem is it doesn't seem to always remain seamless in canvas2d mode. However given WebGL is almost supported everywhere now, perhaps we can let that go.