The schema of the database and the code paths for all features must be the same for the cli and desktop app.
e.g. in the macOS app when you go to About you will see Profile Version: 39. The terminal app must also use that profile version. However, I don't think the profile version is shown in the cli app. I have to check.
I wish that were true. People often forget that one is running and then the second instance screws up the states in the database and both apps behave weirdly or stop working altogether.
You have been warned! There will be no help whatsoever, if you run into issues or destroy your notes. So unless you know how to fix stuff, which requires in-depth knowledge of how Joplin works, this is really a bad idea.
You can run both on the same system. Just don't use the same profile (by either using a sym link or the --profile parameter).
It means that both apps use their own local database for the notes and thus you basically have the notes twice on your system. The cli app uses ~/.config/joplin and the desktop app ~/.config/joplin-desktop.