Why does the output go to the login line on a virtual machine?

Installed version 9.1 on a virtual machine. If you wait for some time, then logs output print in the console, the login and password input field is filled with some incomprehensible text. Is that how it should be? The situation is the same on virtualbox and HyperV

You should be able to type over the text and log in.
This will provide more explanation: Linux console - Wikipedia

I have been using Linux for many years, but I have never seen such that the logs would be poured into the console

Seems to be related to dmesg. You can do:

echo "2 4 1 7" > /proc/sys/kernel/printk

if that stops any dmesg output, you can then create /etc/sysctl.d/99-disable-console-msgs and put inside it:

kernel.printk = 2 4 1 7

that way on future reboots, that will stop the dmesg stuff being displayed.

OK, but is this happening on every 9.1 virtual machine (by default)?

This happens on 8 and 9. My router box and lab hosts do the same things. It does not matter if it’s virtual machine or physical.