You've pretty much nailed it. I opted to include all information in the tournament file precisely so that a completed tournament wouldn't be accidentally changed due to the modification of a template that it used. Of course, you can deliberately change the state of a completed tournament if you want, but I didn't want it to happen accidentally.
The layout is a different story though. I included it originally because ... well .. everything else was included, why include extra logic to NOT include the layout in the saved tournament file. But it isn't necessary to include it - it doesn't reflect anything about the state of a tournament or how it played out. So, it can be "decoupled" from the rest of the tournament file without having any adverse effects on the tournament itself.
The reason, though, has to do with future development. In the current development version of the software, the way objects are persisted is changing, and the result is a bigger file. This in turn means longer loading times, and while that's not a big deal for individual tournaments, when compiling stats it will be felt. The new layout actually contributes to a major portion of the tournament file size, so removing it should mean much smaller files (which in the end will probably be comparable to the current size of tournament files including the layout).
While on the topic of Layouts, the development version has various changes to the layout, too. And I will be (hopefully) including a layout import feature, which has always been (half-finished) in the code, but never exposed. That would allow you to import elements from a different layout file.