Using ${GREP} was failing when grep was built with the WITHOUT_GNU_GREP_COMPAT knob in src.conf. According to POSIX, | only works for alternation in extended regular expressions (grep -E), although GNU grep disregards the difference.
The new syntax with ${EGREP} and no escaping of special characters works with both BSD grep (without WITHOUT_GNU_GREP_COMPAT as well as GNU grep). I haven't tested BSD grep without WITHOUT_GNU_GREP_COMPAT, but if it does behave like GNU grep it should also work.