I heard that when it comes to Encrypt-then-MAC, if an attacker forges the ciphertext then he gets the wrong MAC value and can't decrypt the ciphertext to plaintext.
Indeed, a forged ciphertext would immediately imply a forge on the MAC used therefore if the MAC is secure, the system is unforgeable.
If so, what is happening Encrypt-and-MAC and MAC-then-...
As long as your master secret key is generated properly and protected properly, this should be fine. HMAC is widely believed to be a pseudorandom function. So, the output (i.e. the password = PRF(secret_master_key, username)) should be pseudorandom and has good entropy.
There are many assumptions in your question, and most of them are often not correct.
The messages cannot be intercepted.
If this is true then you simply don't need cryptography at all, your communication is already secure. You use cryptography when you're not sure that it is already secure.
The messages cannot be altered
If this is true then you don't ...
The OTP does not provide message integrity, wasn't designed too and almost certainly can't.
The OTP is a model that formalizes the notion of confidentiality.
A System providing integrity should to do so for every correct instantiation of such system. It is however trivial to show correct instantiations of OTP that do not provide integrity.
A remark on ...
But, if you and I have a one-time symmetric key, and I send you a message, and it is not complete gibberish, is that itself not message authentication?
The informal criterion of "not complete gibberish" that you are applying here has two problems:
Malleability: It is trivial to modify OTP-encrypted ciphertexts so that they will decrypt to something that's ...
get one that decodes to something resembling what you expect to get.
You don't always expect the exact detail though. You might transmit "Buy 1 million shares in ...", but the other end might receive "Buy 5 million shares in ..." due to malice or a noisy channel. One altered/corrupted bit might easily decode to something entirely sensible as I've shown. ...