Same. I think people just have different ideas of what "long lived" means. To some it might be a few days of work, to some weeks.
We actually merge the master into our long lived feature branches first. Then run all the tests on that branch, if it's good it can be directly merged into master (master is locked, and you need permission to commit anything to it).
I think so. Sometimes we have long-lived branches with multiple contributors for new features. Is this some kind of anti-pattern?
We don't use feature flags, they seem hard to maintain and restrictive in terms of what you can do (e.g. structural changes).
OTOH, because we're a small team, when there's a lot of work in a new feature branch there's little work on master, so there's little hassle there too.
We actually merge the master into our long lived feature branches first. Then run all the tests on that branch, if it's good it can be directly merged into master (master is locked, and you need permission to commit anything to it).