You need to bite the bullet and strip the paint - or at minimum rough it up significantly. Thin-set mortar or premixed adhesive won't bond reliably to a smooth painted surface, no matter what anyone tells you. Paint is a barrier, and tile adhesive needs to grip the wall substrate itself, not a slick coating on top.
Here's what actually works: use a paint scraper or orbital sander to remove the paint down to bare drywall or plaster in the backsplash area. You don't have to strip the entire bathroom - just the 18-24 inches behind where your tiles will go. If the wall underneath is damaged or crumbly, fill those spots with drywall compound or patching plaster and let it dry. Once you've got bare, slightly rough substrate, thin-set mortar is your best bet for a subway tile job. It's stronger than premixed adhesive, won't sag as easily on a vertical surface, and lasts longer.
If stripping paint really isn't an option, your only semi-reliable workaround is to prime the painted area with a bonding primer (something designed for slick surfaces), let it cure fully, then use a quality premixed adhesive rated for vertical applications. But this is honestly a compromise and more likely to fail down the road. Taking an hour to scrape the paint off properly now saves you a failed backsplash later.