Earlier quoted context omitted.
Named parameters do come with a large footgun. Renaming your parameters is a breaking change. Especially if you're coming from different langs.
This only really applies to languages that don't check this at compile-time. I don't consider compile-time errors a foot gun. I mean, it should be impossible for that kind of bad code to ever get merged in most reasonable CI/CD processes.
If I delete/rename a field of a class in any statically checked language, it's going to report a compile error, and it's still a breaking change. Same thing with named arguments.