Он подчиняется, но в контексте поведения по умолчанию. У него нет width
в настоящее время, и поведение <pre>
по умолчанию состоит в том, чтобы не имели ширину (а, скорее, расширялись в доступное пространство ... и это родитель готов расширяться, чтобы приспособиться к этому), поэтому он действует правильно.
Если вы хотите, чтобы соответствовал размеру, просто задайте ему ту же ширину, что и у родителя, например:
<pre style="overflow: auto; width: 660px;">