Figured it out. I was initially getting AudioFocus correctly, but there was a flaw in my code that caused it to lose AudioFocus a few seconds later. This caused the lockscreen controls to not be displayed.
Bottom line, if you can't see your controls and it looks like you have your code set up correctly, make sure you're not inadvertently calling abandonFocus(...)
prematurely. That's what was causing issues for me.