The current squeezing algorithm for ttk::notebook tabs adjusts each tab by the same number of pixels. As a result, the smaller tabs disappear quickly, There is also a -mintabwidth style option, but this doesn't work well either: first all tabs are reduced to the minimum width, but if there is still not enough place, the rightmost tabs will disappear again.
The fact that tabs can disappear has been reported as a problem numerous times on comp.lang.tcl. An ideal solution would allow the tabs to be scrolled, but this seems to be quite hard. A different squeezing algorithm, which squeezes each tab relative to its width, can however also improve the current behavior.
Attached is a patch with this modified squeezing algorithm. Note that it ignores -mintabwidth completely, as this does not make much sense anymore in the new algorithm. (The mintabwidth did not work well anyway, because it was already ignored in TabRowSize().)
Patch for ttkNotebook.c