server: don't wrap nil errors
This workaround for a lack of error.Join in golang 1.19 is mostly fine, but nil will always be wrapped also, which means that our check for nil when creating a server will always fail, and we will erroneously return an error. Work around this by explicitly returning nil when there are no errors.
Bug: T371701