It really depends on the server, certain services and hosts “kill” the server and spin it back up when a request is made (IE Heroku) AKA hot-loading. In hosts like this the Strapi server isn’t running so the cron-tasks don’t get fired.
To answer your sub-point, yes running Strapi with a server.js / app.js / anything.js should still fire the crons.