As far as IHttpActionResult NotFound(), .NET 9 now has an overload. For example,
IHttpActionResult NotFound()
return new JsonResult(NotFound("Item not found"));
returns
{"value":"Item not found","formatters":[],"contentTypes":[],"declaredType":null,"statusCode":404}