I agree that there is maybe too much potential for confusion with that, but is the dot operator (or read syntax?) actually used that much these days?
Personally I have mostly sometimes used it with Emacs Lisp, but in general relying too much on plain cons cells and cadring down the cars of their cddars feels like a code smell to me and if I need a pair I can always just use cons? As the (only, I think?) infix operator in traditional lisps it has always felt extra-ordinarily useless to me (outside of Schemes use of it lambda lists), but maybe I'm just missing something.
Pairs are used by about 3-quarters of the standard library of Scheme, so I really would not consider its use to be a code smell.
You should be using the pairs when using make-hash, for example.
Cons also doesn't always return a pair. Its main purpose is for prepending to a list. Only when "the second argument is not empty and not itself produced by cons" does it produce a pair.
Which means '(a . b) is clearer code in intent, than (cons a b).
I think you need something like it in order to have a print representation of a cons cell whose cdr is not a cons-or-nil. And it's nice if your print representations are readable.