I also fought this a long time. I found the rest of the answer here:
https://www.sqlservercentral.com/forums/topic/t-sql-problem-using-run-as-user-in-job-step
So, you have to:
use msdb
CREATE USER [Domain\Account] FOR LOGIN [Domain\Account];
exec sp_addrolemember 'DatabaseMailUserRole', 'Domain\Account';
In the T-SQL job...