You didn't mention the type of job you're using.
If you're using a Freestyle job, it should work exactly as you desire, detecting changes on all the branches that match the wildcard. It works that way for me on several jobs that I use. A Freestyle job processing multiple branches tends to confuse users, since they need to look deeply into the job to decide which branch was used on each build. It is less and less common to use a Freestyle project that builds multiple branches.
If you're using a Pipeline job, then you should consider using a Multibranch Pipeline job rather than reusing the same job for different branches. A multibranch Pipeline job will automatically create and delete jobs for all branches that are detected and contain a Jenkinsfile.