Using PaySystems makes this much more difficult than if you had a pure merchant account.
Since I do not use Paysystems, my interpretation of their process may be flawed, but here goes:
On the initial transaction, have a recurring package for the hosting portion. Create the domain as an add-on and set it up as 1-time billing. This will allow you to charge one time for the domain and recurring for the hosting.
In this method, you would have to either keep track of when the domain comes for renewal or make it the customers responsibility. In either event, you would need to create an invoice for the domain renewal in a year that the customer would need to login to pay.
You would think you could setup the hosting and domain as two seperate recurring packages, however if you are billing these in the same order, that is not possible. I do not know if PaySystems even allows you to do a yearly recurring, but even if they did I would not use it. Too much can change over a year, the customers address or credit card number/exp date could change which would make the yearly recurring fail as it is.
If it was me I would have a recurring hosting package, allow the domain as a 1-time billing add-on through the ModernBill flow and go from there.