Mirror modifier using global axis instead of local
As lemon explains, the Mirror modifier use the object local axis, not the global. So to get what you want do not rotate your object in Edit mode, rotate in Object mode: