Jack's (and Blake's) answer is written from the 1Password point of view. Now let's look at the attacker's point of view.
The common attacker is trying to phish credentials and steal them in great amounts by hacking big internet services and stealing their user databases. He might even manage to get some trojan keylogger on your computer. He is going for millions of accounts, using automated tools to hack accounts on servers.
If you fall for a phish, become victim to a keylogger or your user data is stolen from some service, the attacker gets userid and password as worst case. What he will not get by this means is the secret 2fa code that is used to generate the OTP tokens, even if it is stored somewhere on your computer or in your personal password database. He might phish one OTP (that expires after 30 seconds), but he will not get the secret used to generate OTPs. This is never asked, never stored in server account databases, you will never expose it while being phished, and a keylogger isn't able to grab it, because you never copy it into the clipboard - it just sits silently in the OTP generator.
As long as you are not a directly (personally) targeted victim, as long as you are only subject to anonymous mass hacking, your OTP secret will never be extracted from the (encrypted) depths of the local 1Password database. This requires a quite customized attack, and since 1Password is (unfortunately) not a market leader with 80% market dominance, nobody will create hacking tools mass targeted to 1Password, because the expected return is tiny compared to all the other people who don't use 1Password and 2fa in the first place.
So it's reasonably secure to put all eggs into the same basket and store the OTP secrets with 1Password. If you are a VIP with accounts so valuable that individual hackers will target you personally, you should store your 2fa secrets on different devices, but if you are the ordinary anonymous user, just put them into 1Password.
It also acts similar to a backup, since they are cloud stored. If you store the codes within some smartphone authenticator app only, and the smartphone fails, you have a problem. Having them in the cloud even kind of improves security, because it's more difficult to lose them.
Personally, I have the codes in Microsoft authenticator as well as in 1Password. I need the authenticator app anyway, because I have a Microsoft account, and I duplicated the codes over both. Sometimes it is more convenient to use the authenticator app if the code only is asked, sometimes it is more convenient to use 1Password for the code, so I use them accordingly.