What is the benefit of using BOOLEAN over TINYINT(1)?
Those two are really synonyms, so you can use them interchangeably. You won't see any difference between them.

If you want to allow 0 and 1 only, you can still use the bit type.