Preloading fonts without making everything else wait
A preload tag moves a font to the front of the queue. It also moves everything behind it further back, which is the part nobody mentions.
Preloading a font is a promise that the file is needed immediately. Make that promise about four weights and you have simply reordered the queue without shortening it.
Preload one weight: the one that renders the first paragraph. Everything else can arrive on its own schedule, and with a sensible fallback stack nobody will notice.
Subset before you preload
A 40 KB subset of the weight you actually use beats a 180 KB preload of the whole family every time, and it needs no tag at all.