What you are asking for, is not easy to manage.
Are you willing to turn on Serial Numbers or Batch Numbers for your Sheets? If yes, you can make the Primary UOM Sheet and make that a Whole Number and using a bit of scripting you can write the weight into a custom field in the Serial Number or Batch Number document.
Turning on Serial Numbers and Batch Numbers is a Huge Overhead and it is not always practical to do this.
The simplest solution is that you maintain the Primary UOM in Sheets and don’t add a secondary UOM into the Item Master but use Kgs in transactions and enter the Kgs that you are making the transactions for.
A even simpler solution is not to worry about the secondary UOM at all. Just add custom fields in each of the Stock Transaction documents at the Item level. Call it “Rate in Kgs” and “Weight in Kgs” and when your users enter those values, they get a rate that they can enter into the actual rate field of the document. Like a sheet is 30.5 Kgs and another Sheet is 29.8 Kgs and the rate is $1, then the rate of the First Sheet that is entered by the user is $30.5 and the second is $29.8 and the two together will be (30.5+29.8)/2 = 30.15 and 2 Sheets.
The Simple solutions means that you will need to weigh the sheets every time the sheets are outbound or inbound from/to your company to/from the outside world. Though you may not need to weigh every time you transfer internally.
With the Batch Number Tracking (You will have to have a separate batch for each Sheet) or Serial Number Tracking approach, you will need to weigh only when you receive the item and this weight can be reported in transactions whenever you want it reported and can be used to calculate the rate by using appropriate scripting.
Like I said it’s not easy managing these weight variability on a structured data system such as ERPNext, so you have to make appropriate investments and/or make appropriate compromises.
Hope this helps.