Why can I only send 28 holding registers over modbus?

Check if there are any limitations documented in the library you are using.
By the way ... which library you are using (please provide exact version and download - link).