It's a very good point you're raising. I feel this is a problem and needs to be fixed.
It seems that the query is comparing strings and not actual date objects. When using (ActualDate <= "2021-04-30") it's essentially running a query (ActualDate <= "2021-04-30T00:00:00.000Z") , so it's concatenating the midnight hour (Mountain Time) but that does indeed skews the results. The equal operator i.e: = is the problem here. When expressing something like (ActualDate <= "2021-04-30") you will expect to include the 04.30, but it actually excludes that day. Surely you can include it if you were to query (ActualDate < "2021-05-01") (the next day) , but that doesn't change that it isn't behaving correctly when the equal operator is being used.
My suggestion will be for you to open a support case. Is that something you can do?