There's also the matter of the typings. The request typings read:
options?: { dispatcher?: Dispatcher } & Omit<Dispatcher.RequestOptions, 'origin' | 'path'>,
That's an intersection, not an extension. So the documentation isn't correct that the options for request are RequestOptions. Semantic hubalaboo but it's still not correct. It can however, lead to confusion when reading the typings within an editor.
With the typings there's some inconsistency between fetch options and request options: request options require passing the method: HttpMethod property, fetch doesn't require this.
https://github.com/nodejs/undici/discussions/1168#discussioncomment-1991327