I need to add a counter that tracks (Based on working days and hours) the time a card has spent in a column (status).
For example, if a card has an estimated time of 4h, the counter should start when that card is pulled into the Sprint or a Sprint is begun, and when the card is moved to a different column, it should reset to show how long it is spending in that particular status
I think add-on Time In Status for Jira Cloud it is that you need. It will show you how long issues stayed in the specific column (status). Also, this plugin generates other reports: assignee time in status, average time in status, status entrance date, transition count and other.
Data from this app available for export, for view as graphs and as the gadget in Jira dashboard.
Hope it helps