where Task.runDetached is part of the Structured Concurrency proposal under review now.
We've seen this come up a bit when porting code, and have a prototyped feature we call @asyncHandler that automates this a bit. It would allow your example to compress down to:
@asyncHandler func add(_ query: Query) {
// body of your asyncAdd
}