The key is use of hgtransform. Here's a snippet that hopefully provides enough info.
hold on
ax = gca; % get the current axis
HG = hgtransform(ax); % make it a transform object
[~,h] = contourf(xm_xz/D, zm_xz/D, curly, vlevels, 'LineStyle','none', 'Parent', HG);
% make a plot using the transform object
HG.Matrix = makehgtform('xrotate', pi/2); % rotate it
Z_level = -8/D - 27/D;
h.ContourZLevel = Z_level;
[~,h] = contourf(xm/D,ym/D,curlz, vlevels,'LineStyle','none'); % next plot
countour_height = 31.5/D+0.5;
h.ContourZLevel = +countour_height; % move the last plot
hold off