Looking into full page cache for Magneto 2 and I have noticed that if I try to "hole punch" my final_price.phtml block in magento by setting my getCacheLifetime to null, my final price block in still cached by FPC.
If I disable FPC then I see my data for my final price block get cached in redis (for now I only have a 20 second ttl) and then it is removed after its ttl. This seems correct.
So it seems you need some type of getIdentity function set to "invalidate" the FPC to load this block.
My point is it seems your not really "hole punching" you just telling the FPC that a block ttl has ended and its time for FPC to load a new copy of your block and the page to put back into FPC.
Any help would be great!