To be fair it's been super simple to upgrade .NET versions the last few versions especially.
Meanwhile 4.8.1 is built int Windows and supports apps written over like the past fifteen years. Why wouldn't anyone just use that?
I'm sure modern .NET has some nice things but the release model is not one of them.
I stick to the LTS versions which are the even numbers and they are supported for 3 years each. after 2 years in, the next LTS is out and all I typically have to do is bump up .NET target number in the project and I haven't really had a problem. There were more changes back in the .NET Core 3 and .NET5/6 days, but that was like 5+ years ago now.
Also, you can build your apps with the framework included in a single executable even, and so anyone can use your app without having the framework installed at all if you are worried about whether the framework version is installed on their system or not.
Also if you wait the 3 years to upgrade the .NET version, then I doubt you would ever have a problem where the target system didn't already have the new LTS version after it will have been out for a year at that point.
If you really don't care at all about cross platform support which .NET offers really well now, then you could keep using Framework 4.8, but after nearly 10 versions of .NET the improvements to the C# language and runtime and everything are hard to ignore. Though I think there is some way with some package you can use the new C# language features with Framework 4.8.
When Windows builds in a modern .NET, I will use it! Bear in mind all of this above churn, while they claim is the new way things work, is inherently temporary: The reason .NET 4.8 is so well supported is Windows is built on it. So if Microsoft ever wants to use those newer things in Windows... Windows will have to build-in modern .NET features someday.