Looks like CoreCLR added support for this in #90180. Native AOT implementation wasn't done, pointing to #72909, but generic virtual methods are orthogonal and the fix is very different (the generic virtual method case is likely much simpler to implement).