But... When i try to reverse the last (let's say) month: I'd have to go back to (x-4464) => 6 blocks/hour * 24 hours/day * 31 days/month.
Your example is correct with the assumption that the attacker would start their 51% from block x-4464 when the main chain was already at block x. A 51% attacker could start their 51% attack from block x-4464 when the main chain was still at block x-4464, and simply not broadcast their blocks. When the main chain reaches block x, the attacker could broadcast blocks up to x+182 and rewrite an entire month in one go, without having to play "catch up" to the honest chain.
I think the calculator is a little inaccurate, because with a large block depth the probability converges to 1 with hash power proportions lower than 0.5
I'm pretty sure that's just a javascript overflow as opposed to inaccuracies in the code. As I mentioned above, the equations needed are in the bitcoin whitepaper.