How do I/should I convince my advisor to let me transfer with her blessings? (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?
Keep the trust of every party involved. Don't lie! Don't disappoint them. Assume all of them are normal and honest and adult persons.

Ask, if you have a written offer, permission to forward it. Then do it. That might trigger direct interaction between past and future advisors.

Your actual (and soon past) advisor will understand that it is not his/her interest to keep you against your will.

Your relation with your past advisor is not a slave -> master one. Both of you are adults.

From the point of view of your past advisor, you are quitting (or giving up your PhD). That happens many times.

Of course, do respect the usual prior notice.

You want to be respected, and you should respect all others

BTW, notice that if you get (it is hard) some research funding, you can chose its topic. But that observation is even more relevant for your postdoc than for your PhD.

PS. The trivial point is that nobody is working well under constraint. You need passion to work on any PhD