I guess we need saving for avx512 the same way as for avx, no more no less. I don't know that anything specifically relies on correct xstate from NtGetContextThread for current thread (besides current avx tests). One thing is that it will be impossible to test anything WRT xstates with Wine when the states can't be retrieved / saved from a current thread (or a thread which is not in PE code), but of course that is not a motivation for doing some weird things.
Regarding storing the contexts, my additional tests show that when a context only has a part of xstate (with compacted save enabled and compaction mask covering only some of features), the missing part of xstate is preserved, so lacking state save on enter to NtSetContextThread will also make it reset the other state. But I also don't know that anything depends on accuracy here.
So I don't know that simply ignoring avx512 for now (and returning init state when in syscall) won't work, I am just not sure why do we need to keep it for avx then, we could stop saving that as well?