I would start with the Data Explorer Plugin where you can create a saved query that you can send an API call to and pass it a user id to return exactly what you are after. But yes, creating a plugin that creates a new route to expose those fields is also an option.
Hmm I have also noticed a few differences between the two endpoints (in case @blake you were going to add the silence user to the API docs)
Update while silenced /suspended
The last column in the table is causing me some trouble at the moment. I am trying to silence a user programmatically, but if they have already been silenced before, and I make a new silencing request with a later silenced_till date the date doesn’t get updated.
Almost as if the endpoint is saying “do nothing if the user is already silenced”
The suspend endpoint doesn’t behave like this. Rather it updates the suspend_until time.