I think your method should work, but beware this computation will be either very slow if you use a very fine grid, or very inaccurate if you use a coarse grid. Probably somewhere in the middle, it will be both slow and inaccurate
There are currently no way to do this efficiently.
We have another discussion pending about something akin: https://forum.orekit.org/t/footprintoverlapdetector-for-large-regions-countries/2020/5 but we did not make progress there either.