(I am going to be somewhat vague for identity reasons, but I'll try to include enough information to describe the situation - let me know if anything else is needed!)
I have a strong passion for X (an obscure area of computer science which is not well funded), and did an undergrad thesis on that topic. I didn't think I would get into any graduate schools if I said I wanted to work on X, so I applied to machine learning since I used a fair bit in my undergrad work on X. I realized now that this was a mistake, but it's not something I can change at this point.
I have been working for the last two years under my advisor (I started as a PhD in 2017). So far I've gotten through my quals/coursework, published one paper in machine learning at a top conference with my advisor as my co-author, and published in two workshops on X, with no intersection of machine learning and without the help of my advisor.
Up until two months ago, my advisor was extremely reluctant to let me work on X, as she didn't think it was a good career move and it also wasn't something she personally wanted to work on. However, I recently got an offer to work on X in industry, and simultaneously learned of two universities where people have funding to work on X and are interested in having me join. Once I told my advisor about that, she changed her message and said "you can definitely work on X, but it should be through the lens of machine learning and you should only publish in machine learning journals, since that's the only way you'll be successful."
Here's the thing: as someone who has studied X fairly deeply, I am 99% convinced that the way to make progress with X is not through machine learning. This is based on theoretical concerns, the reality of what methods are currently producing the best results in terms of future promise, and what I believe is a significantly better understanding of the potential value of X than my advisor (who never claimed to know anything about X in the first place).
Obviously there is some truth to her claim that I'd be better off professionally if I submitted to conferences in an area which is very popular; however, I feel like I care about X so much more than machine learning that I'd rather work as a humble programmer on X for industry or even freelance as a programmer and spend my own time on X than get a academic position in machine learning.
I really believe that I should transfer to one of the universities where I can approach X as a problem in its own right, and where I won't be forced to submit to machine learning conferences. However, my advisor (who is a good person but also very blunt and biased at times) doesn't see why I should, since I can just do X through machine learning. She hasn't explicitly said that she would deny me the opportunity to transfer, but she hinted that she wouldn't give a good recommendation if I was "unprofessional and left for no reason." Both universities told me I needed her blessing in order to enroll.
What do I do?