McIlroy was supposed to play Jason Day in an exhibition called ''Battle for a Cause'' until Day cited a need for rest to heal his ailing back.
Johnson gladly stepped in.
''It should be a lot of fun,'' Johnson said Wednesday at the HSBC Champions. ''I like playing against Rory, and I've never been to the Philippines.''
This is the second attempt at a head-to-head exhibition for McIlroy this year. He was planning to play Rickie Fowler in Detroit this summer until a deal with sponsors fell through. This one was set up on Nov. 29 with Day, the No. 1 player in the world whose mother is from the Philippines and who had family members perish in the 2013 typhoon.
Sean O'Flaherty, who manages McIlroy, said the event would include a gala dinner and an auction on Nov. 28, which features bidding to be caddies for Johnson and McIlroy over nine holes, along with other memorabilia. He said proceeds would go mainly toward relief efforts from typhoons.
The match takes place at Pradera Verde Golf and Country Club in Pampanga.
McIlroy and Johnson have played together in at least one round in three of the four majors that McIlroy won - the 2011 U.S. Open, 2012 PGA Championship and 2014 British Open. Most recently, McIlroy narrowly beat out Johnson for the FedEx Cup when he won the Tour Championship in a playoff.
''It will be a cool match,'' McIlroy said. ''I'm happy that Dustin wanted to come and take part. Obviously, it was going to be Jason, and it would have been special for him with his ties to the Philippines. It's a place I've never been. I've met a lot of Filipino people along the way that are always nice and courteous and welcoming, and I'm looking forward to that hospitality in Manila.''
Johnson is coming off his biggest year, capturing the U.S. Open at Oakmont and winning PGA Tour player of the year, the money title and the Vardon Trophy for the lowest adjusted scoring average.