This parity fix method would be perfect for you (Noah also uses UBL/DF with edges first. It's also what I do).
Edit: Your current parity alg will actually still work, believe it or not, as long as you use UBL/DF with edges first. Just solve the last edge target using M2, do your parity alg, solve the corners and then do the last target with OP. Slower than Noah's method though.
Thank you for this!