Okay I found it, I checked my email since Salesforce sends it whenever I change my password. Other alternatives include Resetting the Security Token on My Settings (when using Salesforce Classic), not sure how to do this in Lightning though.
429 Too Many Requests is not an appropriate status to return from Apex that is processing a REST request, and so presumably that's why the server prevents you from doing so. The relevent RFC indicates that this response is for rate-limiting, ie, the number of HTTP requests received from a single client in a given amount of time:
The 429 status code ...
You have received a List<PDS_FindDentalOfficeTypes> rather than a single instance. So deserialize into the collection instead:
List<MyWrapper> data = (List<MyWrapper>)JSON.deserializeStrict(payload, List<MyWrapper>.class);
Your question seems to me to approach this issue backwards. You have in hand a list of HTTP status codes and are trying to find Apex exceptions that correspond to ("handle") them.
But there are scores of HTTP status codes, and most of them are either (a) completely irrelevant to this code or (b) handled by the underlying Salesforce application. For example,...