Not sure why you believe you need to do this as this can be done much better as measures. Does this information really need to be in here in calculated columns? Can you do this as a DAX measure and will it work in with other calculations you are completing?
Regarding the calculation it’s due to the context of the calculation within your formula. It likely isn’t able to create the filter this way because the rest of the model isn’t setup for it to do so.
Yes, calculated tables get updated on refresh.
I’m just not sure this is required what you are doing here, I’m interested to understand why you think you need to do it?