In mongoid you can't have references to embedded documents. So the problem is in your tag model defining habtm there. You can have HABTM in embedded watchlists, without any inverse relation.
has_and_belongs_to_many :tags, inverse_of: nil
But if you must have references to watchlists in tags, you can manually maintain array of ids on both sides as already pointed out by Tyler.