Here ya go, this works for me (notice where I commented out your code to make it work) -
var page = $('<div/>'),
header = $('<div/>'),
back = $('<a/>'),
title = $('<h1/>'),
content = $('<div/>');
//page.data('role', 'page');
page.attr('data-role', 'page');
page.attr('id', 'page');
//header.data('role', 'header');
header.attr('data-role', 'header');
back.data('iconpos', 'left');
back.data('icon', 'back');
back.data('role', 'button');
back.data('rel', 'back');
back.attr('href', '#');
back.text('Back');
title.text('Dynamic Page');
header.append(back);
header.append(title);
page.append(header);
//content.data('role', 'content');
content.attr('data-role', 'content');
content.text('stuff here');
page.append(content);
page.appendTo($.mobile.pageContainer);
$.mobile.changePage('#page');