I wanted to follow up with a better solution to get the requested role when you don’t have the provisioning plan yet that I found in a Sailpoint IIQ Show and Tell post.
In short, by getting the identity from the database and comparing the database assigned roles list to the list of assigned roles on the identity in the request, you can easily get the new role being requested from the request identity object. This made my code much simpler and cleaner. I hope this helps anyone else who comes across this problem in future.