For your planning consideration ...
Go to Admin, Server, Environment - update the component.
Step through each higher version of moodle from the drop down pick list and note the requirements - PHP/PHP extensions/DB version/DB settings might be needed for the next hop version of Moodle chosen
Plugins - Go to Site Admin Plugins Plugins overview Additional Plugins
For every additional plugin check https://moodle.org/plugins/ for compatible versions upwards - highest 4.0 right now. Themes are plugins.
Any custom plugin you can't find in plugins site, check with programmer of the plugin.
Dates:
https://docs.moodle.org/dev/Releases
3.5
Bug fixes for general core bugs in 3.5.x ended May 2019 (12 months).
Bug fixes for security issues in 3.5.x ended 10 May 2021 (36 months).
3.9 (LTS)
Bug fixes for general core bugs in 3.9.x ended 10 May 2021 (12 months).
Bug fixes for security issues in 3.9.x will end 13 Nov 2023 (36 months plus 6 months extension).
4.0 not LTS
Bug fixes for general core bugs in 4.0.x will end 8 May 2023 (12 months).
Bug fixes for security issues in 4.0.x will end 13 November 2023 (18 months).
note: 13 Nov 2023 for 3.9 and 13 November 2023 for 4.0 (same date) - so a 4.1, when released, isn't that far away.
4.1 is supposed to be the next LTS version.
Most folks clone their production server environment then use that clone to test updates/upgrades. Since you seem to emphasize 'as long as plugins work' a test environment probably best approach.
If Linux based, could be looking at entire server depending upon OS version and LTS or not. That's true even if you remotely host, BTW.
'SoS', Ken