Since you run with
emacs -Q --eval "(setq default-frame-alist '((menu-bar-lines . 0)))"
Emacs considers menu bars to be currently enabled "globally" and
disabling them globally has no effect on that frame. Do you agree with
this explanation?
So please try again with the attached patch which records the original
unscaled sizes. And please tell me what
(frame-char-width)
(frame-char-height)
evaluate to.