@Anton, that’s thow wordpress works. The server executes hundreds of php files on the back end, makes dozens of database queries and as a result of all of that work spits out a 17kb HTML file. You won’t see it in the waterfall (just shows up as delays to first byte) and the best way to get visibility into exactly where the time is going is to install something like New Relic on the server.
Cheap shared hosting is almost always the cause of the problem because they run hundreds of sites on the same server and database to get better server utilization and keep costs down (at the expense of performance).
Caching plugins can help hide the issues by saving a copy of the generated HTML or the database queries but it is best to fix the underlying problem first.
Since you are paying the developer to also do the hosting, it is entirely in his control to fix (and is very fixable). There are a lot of good hosting providers out there. Even the free tier of EC2 performs better than most shared hosts (though requires more effort to run). There are also Wordpress-specific hosts like WP Engine. These days there is no good reason not to be running SSD’s for the server which usually solves 90+% of the performance issues.
For example, I run a wordpress blog for my wife on a spare ancient laptop we had lying around and the first byte times are < 100ms consistently (and it is not caching since it doesn’t get a lot of traffic).