This holds even more strongly if the various parameters take the same
type:

    # a real signature from one of my functions
    def function(
           meta:bool,
           dunder:bool,
           private:bool,
           ignorecase:bool,
           invert:bool)

    function(dunder, invert, private, meta, ignorecase)
    function(*, dunder, invert, private, meta, ignorecase)


No reader will ever have to think about the difference. They will simply see the second version and know which arguments are being passed.
Also, your examples are clearly demonstrating that using the shortcut makes it easier to avoid mistakes.

It's true that they don't have to think any the DIFFERENCE (since only one version will be read), but they do have to think about the difference between what they might believe it does and what it does.

I'm not really sure what you're actually concerned about. Can you give a hypothetical scenario explaining how someone would be confused in practice?

I tried to explain one: the reader knows the parameter order well and misses or ignores the star and thinks they have understood the function call correctly when they haven't.

Again, I'm not sure it's enough to nix the whole idea, and I agree the syntax can just as easily prevent mistakes as you said.