How can I keep streusel topping from getting soggy?
Assuming that you want to serve the casserole hot and the streusel crispy, keep the casserole and the streusel separate until almost serving time.

This means you will have to bake the streusel on a cookie sheet until crisp and ready, then let them cool uncovered and transport them in a separate container.

Your casserole base contains eggs, so it must be baked. You want to avoid a "skin" or "crust", so cover with foil at least part of the time or even the whole 30 minutes. (Depends a bit on how wet the mash is.)

Depending on the logistics at the destination, either keep your casserole warm in your carrier or pop it in the microwave for a bit to gently(!) reheat it.

The right time to put the streusel on top of the base is a short while before serving - long enough that the hot mash can warm them up and that they can get a tiny bit soft at the bottom (more authentic!) while staying crisp on top. A few minutes should suffice, but a quarter of an hour would still be fine. But keep the casserole uncovered.