Nnnope.
Has Attachment | is equal to | bool('True') (with bool('True') set as an Expression) doesn't work either (at least not for me); defaults to a False result regardless of whether there are attachments are not.
According to the thread we're in--and this one--it's still a mystery as to how to get Has Attachment to work (or at least by using the excact values it's looking for). So might as well consider Has Attachment broken. (Or, at best, unreliable...because it reportedly only works for certain people, and only when used in unorthodox ways.)
From what I can tell, this is the only reliable way to check for attachments:
length(AttachmentsVariable) | is greater than | 0
(Annoyingly, as you're typing out this expression, you can't click Attachments from the Dynamic Content list to autopopulate the Attachments "expression" value into your expression. But you can instead just manually type the Attachments "expression" value; one of many weird bugs when trying to create expressions--the primary bug being it telling you the expression is invalid the first time you click "OK", then it works when you click it a second time.)
In my case the formula is:
length(triggerOutputs()?['body/attachments']) | is greater than | 0

This is all kind of silly, because checking if length(AttachmentsVariable) is greater than 0 is exactly what I would have checked for in the first place, if I hadn't spotted the Has Attachment variable that I wasted way too much of my life wrestling with