First, I don't think that there is any doubt that black has significant compensation, but clearly, black is still trying to hold this, not win it when talking two computers playing each other. I believe that between two humans, I would probably prefer black.
If you have an eval that says +.63 for white, but black is down two pawns, you have to realize that it means that black has roughly 1.37 in positional compensation.
White obviously has the two pawns, but black has the two bishops in a relatively open position, is ahead in development with the Rd8 already controlling the file, and h4 is a target that at the very least can be used to gain a tempo. Lastly, the g4 square is a wonderful spot for the Bc8, and helps control the open file. Also, the Rf1 is poorly placed, and the Bc1 currently does not have a bright future. One of the extra pawns, although I am going to trade it off, is currently doubled.
I analyzed this using a computer, and it is a VERY difficult position to get a handle on because so many of the moves are almost equal in the evaluations. In each case, what I did was let it get to a depth of 33-37 using Stockfish 11, and then I would advance the game by a move and force in the best move, and then let it get to a depth of 33-37 again, and so on. So, by the time I got to the 16th move of the variation, it was still looking 35+ ply ahead.
Here is the variation I found, and I have notes as to why the moves are being played. At the end, it is still only +.41, and despite the two pawns minus, it is hard to believe that white can win due to black's incredible activity, and the Kg8 will enter the game soon.
[FEN "r1br2k1/pp3pbp/6p1/4P3/5P1P/2N1P3/PP4P1/R1B1KR2 b Q - 0 1"]
1... f6 2. e4 Bg4 3. e6 (3. exf6 Bxf6 4. g3 Bxc3+ 5. bxc3 Rd3 6. Kf2 Re8 7. e5 Rc8 {and black is almost winning...f5 is already the only move so white can play Bf4 next defending g3.}) Bxe6 4. Kf2 Rd3 (4... Bg4 5. Be3 Rd3 6. Rfe1) 5. Rd1 (5. Be3 Bg4 6. Rac1 Re8) 5... Rxd1 6. Nxd1 Rc8 7. Nc3 f5 8. e5 Bf8 {Ba3 threat.} 9. Bd2 a5 {Idea a4-a3.} 10. Ke1 {To prophylactically protect the Bd2 after a4; Na4 Rc2} Bc5 11. Rd1 Be7 $1 {Only after a2 is undefended does this combined with a4 work.} 12. g3 a4 $1 13. Nxa4 (13. a3 Bb3) 13... Rc2 14. Rc1 Rxc1+ 15. Bxc1 Bxa2 16. Nc3 Bc4 $14 {Nd1 +.41.}