I prefer the latter for my functional builds, but find one big advantage of SQ in that you have multiple lengths available.
This lets you use a road crankset on a big tyred bike. And with the right length spindle you can get the smallest possible Q-factor without fouling the chainstays and you're not limited in chainring size either.
Personally, I still preferred to crush the chain stay on a brand new frame to try to fit Campagnolo Ultra Torque cranks with 135mm BCD and a 50t tooth ring...
Regarding square taper or external bearing.
I prefer the latter for my functional builds, but find one big advantage of SQ in that you have multiple lengths available.
This lets you use a road crankset on a big tyred bike. And with the right length spindle you can get the smallest possible Q-factor without fouling the chainstays and you're not limited in chainring size either.
Personally, I still preferred to crush the chain stay on a brand new frame to try to fit Campagnolo Ultra Torque cranks with 135mm BCD and a 50t tooth ring...