Clarification about .net compiler flags

I am new to C# development and I am a bit confused about the differences among .Net Framework, .Net core, .Net and .Net Standard. As far as I understood .Net framework is the old runtime. Its last version is 4.8. The replacement of .Net Framework is .Net core. Its last version is 3.1. .Net is a rebranding of .Net Core. Its last version is 6. And finally .Net Standard are a set of APIs that are common between .Net Framework and .Net core (aka .Net). Its last version is 2.1.
My problem is how to force haxe to use one of the implementation above.
It seems that setting the compiler flag net-ver to the values from 20 to 45 selects .Net Framework from 2.0 to 4.5. Then there is the compiler flag netcore-ver. It should address .Net Core, but it seems half-broken (see issue [cs] support .NET Core · Issue #5480 · HaxeFoundation/haxe · GitHub). And finally net-ver can also be set to 50. Since the last version of .Net Framework is 4.8, I suppose that net-ver=50 selects .Net (core) 5.0.

Are my assumptions right?
Further how can I force haxe to address .Net Standard 2.0?
( I’m particularly interested in .Net Standard because my goal is to deliver a library which works with both .Net Framework and .Net.)