I know this issue is an old one. I had the same issue just now and I was wondering if there was a more efficient solution to this. Upon reading the thread, I found out isformula does not work with arrayformula. Anyway, this is what I came up with. Hope this helps especially for those who will come across this in the future.
=arrayformula(if(B2:B<>"",isformula(B2:B),iferror(0/0)))