SQL Server Agent Alerts and Severity Errors
Yes, this is working as designed.
Looking at the docs:

SQL Server Agent reads the application log and compares events written there to alerts that you have defined.

The mechanism that is used for SQL Agent alerting is to read the log. Thus, if it's not logged, there is no alert.
Instead, you can use Extended Events to capture errors, even if they aren't logged. You can then write your own process to read the Extended Events file and send alerts as necessary.