Upfront, I've already solved this bug. This is just reference for others who run into it.
I've deployed a Yeoman-built app to heroku using this guide: http://www.sitepoint.com/deploying-yeomanangular-app-heroku/
The guide worked nearly flawlessly except needing to remove the line:
app.use(express.logger('dev'));
Once deployed, the glyphicons packaged with bootstrap are were returning a 404. After much digging around I realized the:
dist/bower_components
folder was not being added to the git repository due to this line inside my .gitignore:
// .gitignore file //
node_modules
.tmp
.sass-cache
bower_components // This line!
Deleting meant submitting my entire bower_components folder to the git repository, which I didn't see as necessary. Instead, I added the following to .gitignore:
// .gitignore file //
node_modules
.tmp
.sass-cache
bower_components
!dist/bower_components
Now the dist/bower_components gets added to the repository and will deploy to Heroku, as expected.